Systém komentářů pomocí jQuery a Ajax.

 2012-10-27 00:00:00
 Dmitry Burobin

Dnes vytvoříme systém komentářů s automatickou kontrolou vstupních dat pomocí technologie Ajax a přidáváním nového komentáře s použitím jQuery bez znovunačtení stránky.

Série článků:
1) Systém komentářů pomocí jQuery a Ajax.
2) Lajkování neboli karma u komentářů.
3) Strankování.

Vytvoření tabulky a připojení k databázi.

Vytvoříme si tabulku comments, do které budeme ukládat: identifikátor komentáře ( id ), identifikátor rodičovského komentáře ( parent_id ), jméno ( name ), text komentáře ( text ) a datum přidání komentáře ( date ).

CREATE TABLE `comments` (
`id` INT ( 5 ) NOT NULL AUTO_INCREMENT,
`parent_id` INT ( 5 ) NOT NULL,
`name` VARCHAR ( 255 ) NOT NULL,
`komentar` TEXT,
`date` DATETIME,
PRIMARY KEY(`id`)
)ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci

Taktéž si vytvořte soubor db.php, pro připojení k databázi.
<?php
$DBSERVER 'localhost'//server, který bude použít pro navázáníspojení s DB 
$DBUSER 'root'//Váš mysql login, nejspíš je stejný jako u mě pro localhost, tudiž root 
$DBPASS '****'//heslo, které jste zadaval při instalaci MySQL 

$DB 'test'//databáze, s kterou budeme pracovat 

//navazení spojení pomoci mysql_connect  
$link mysql_connect($DBSERVER$DBUSER$DBPASS)  or die("Could not connect: " mysql_error()); 
//vybírame databázi 
mysql_select_db($DB$link) or die ('Can\'t use test : ' mysql_error()); 
//řekněme MySQL, že všechná data jsou ve formatu UTF-8 
mysql_query("SET NAMES UTF8");
?>

index.php

Hlavní stránka bude obsahovat formulář pro přidávání komentářů s polem pro jméno, zprávu a skryté pole, do kterého budeme ukálát identifikátor rodičovského komentáře, pokud někdo bude odpovídat na nějaký komenář. Soubor index.php vypadá takto:

<?php
/*Soubor pro vybírání komentářů z databáze*/
require_once 'comment.php';
?>
<!DOCTYPE html>
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">

<
head>
    <
title>Systém komentářů.</title>
    <
meta charset="utf-8" >
    
    <
link rel="stylesheet" href="style.css"> <!-- soubor se styly -->
    <
script src="jquery-1.7.1.min.js"></script> <!-- připojení jquery -->
    <script src="comment.js"></script> <!-- funkce potřebné pro přidávání komentářů -->
    
</head>
<body>
<ul id="commentWrapper">
<?php
/*Zde v proměnné $comments jsou komentáře*/
echo $comments;
?>
<!-- formulář pro přidávání komentářů -->
</
ul>    
    <
div id="commentBox">
        <
input class="validate" type="text" name="name" >
        <
input id="parent" type="hidden" name="parent_id" value="">
        <
div class="commentText">
            <
textarea name="text"></textarea>
        </
div>
        <
button>Přidat</button><img class="loader" src="loader.gif">
    </
div>
</
body>
</
html>

Styly a knihovna jQuery

Pro správné fungování potřebujeme připojit knihovnu jQuery. Tu buď stáhnete z oficiálního webu nebo z archivu s tímto článkem. Pak, aby komentáře líp vypadali přidáme styly, nic složitého v nich není, proto je nebudu popisovat:

body
{
    
margin:0;
    
padding:0;
}
ulli
{
    list-
style-type:none;
}
.
loader
{
    
display:none;
}
#commentBox
{
    
width:400px;
    
padding:10px;
}
#commentBox input
{
    
width:250px;
    
height:25px;
    
padding0 5px;
    
margin:5px;
    
bordersolid 1px #ccc;
    
background:#f1f1f1 url(bg_input.png) no-repeat;
    
font400 12pt/14pt Ume Gothic O5;
}
#commentBox textarea
{
    
width:250px;
    
height:100px;
    
margin5px;
    
padding5px;
    
bordersolid 1px #ccc;
    
background:#f1f1f1 url(bg_koment.png) no-repeat;
    
font400 12pt/14pt Ume Gothic O5;
}
#commentBox button
{
    
height:30px;
    
width:85px;
    
margin-left183px;
    
margin-top:0px;
    
font:700 12pt/14pt Ume Gothic O5;
}
#commentWrap
{
    
width:350px;
    
padding:10px;
    
padding-bottom:3px;
    
margin:10px;
    
border1px solid #ccc;
    
border-radius:10px;
    
background:#f7f7f7;
}
#commentWrap .komentar
{
    
padding:5px;
    
padding-left:0px;
    
border-top:1px solid #ccc;
    
margin-bottom:10px;
    
font:400 12pt/14pt Times New Roman;
}
#commentWrap .replay
{
    
margin-left:270px;
    
font:700 10pt/12pt Ume Gothic O5;
}
#commentWrap a
{
    
text-decoration:none;
}
#commentWrap .commentName
{
    
font:700 10pt/12pt Ume Gothic O5;
}
#commentWrap .commentDate
{
    
font:400 11pt/13pt Times New Roman;
}
.
repName
{
    
font:400 12pt/14pt Times New Roman;
    
font-style:italic;
}
.
repText
{
    
font:700 10pt/12pt Ume Gothic O5;
}
.
repDate
{
    
font:400 9pt/11pt Times New Roman;
    
font-style:italic;
}

comment.php

Tento soubor je určen pro vybírání dat z databáze a vkládání těchto dat do šablony.

<?php
// Vložíme soubor s připojením k databázi. ( musí se nacházet ve stejné složce ) 
require_once 'db.php';

// Vybereme komentáře z databáze
$query mysql_query("
         SELECT `id`,`parent_id`,`name`,`komentar`, 
         DATE_FORMAT(date, '%d %M %Y %H:%i') as date_add
         FROM `comments` ORDER BY `id` ASC 
         "
);
         
// Pokud při vykonání příkazu nastané chyba vypišeme ji
if(!$query) { echo mysql_error() . " - " mysql_errno(); }
else {

// Jinak pomocí cyklusu projdeme všechny záznamy v tabulce
        
while($result mysql_fetch_assoc($query))
        {
            
// a uložíme je do pole $data  
            
$data[$result['id']] = $result;
        }

// Funkce pro vkládání dat ( komentářů ) do šablony
function commentsToTemplate($comment)
{
// $comment - pole komentáře - id, parent_id, name, text, date 
    
// Zapneme bufferování výstupu, aby šablona nebyla zobrazená v místě volání funkce
    
ob_start();  
      
// Připojíme šablonu comment_template.php, do které vložíme data z pole $comment
    
require_once 'comment_template.php';                     
  
// Získáváme obsah bufferu jako řetězec   
    
$comments_string =  ob_get_contents(); 

// Vymažeme všechno z bufferu
    
ob_end_clean();

// Vrácíme komentář jako řetězec   
    
return $comments_string;    
}

// Funkce pro zpracování pole $data, které
// bude rozděleno do jednotlivých komentářů a odesláno funkci 
// commentsToTemplate
function commentsString($data)
{
    foreach(
$data as $w
    {
        
$string .= commentsToTemplate($w);
    }
 
return 
$string
}  

// proměnná $comments obsahuje naše komentáře, které zobrazujeme na hlavní stránce
$comments commentsString($data);

// vynulujeme proměnnou $data 
$data null;
}
?>

comment_template.php

Toto je vlastně šablona jednotlivého komentáře.

<?php
// Do této šablony se načítají data z pole $data, která jsou odesláná funkci commentsToTemplate
echo '<li id="comment'.$comment['id'].'">
    <div id="commentWrap">'
;
        
// Pokud existuje parent_id, pak zobrazíme, že se jedna o odpověď
        
if($comment['parent_id']!=0)
        {
// Vybereme z DB jméno a datum rodičovského komentáře
            
$q mysql_query("SELECT `name`, DATE_FORMAT(date, '%d %M %Y %H:%i') as date_add FROM `comments_my` WHERE `id`='".$comment['parent_id']."'");
            
$r mysql_fetch_assoc($q);
            echo 
'<span class="repText">Odpověď na komentář</span> <span class="repName">
            '
.$r['name'].'
            </span> <span class="repText">from</span> <span class="repDate">
            '
.$r['date_add'].'
            </span><br>'
;
        }
        
// Zobrazíme jméno a datum přidání
echo    '<span class="commentName">'.$comment['name'].'</span> - <span class="commentDate">'.$comment['date_add'].'</span>
        <div class="komentar">
<!--Zobrazíme text komentáře-->
            '
.$comment['komentar'].'
        </div>
<!--Pokud zmačkneme na tento odkaz, pak se do skrýteho pole s názvem parent_id přidá
identifikátor tohoto komentáře. 
Použil jsem zde JS událost onClick, tzn. pokud je tlačítko zmačknuté, pak najdi prvek s 
id parent ( což je skrýte pole parent_id ) a do hodnoty přidej id komentáře, na který chcete odpovědět-->
        <a class="replay" href="javascript:;"
        onClick="document.getElementById(\'parent\').value='
.$comment['id'].';">Odpovědět</a>
    </div>
</li>'
;
?>

comment.js

Tento soubor je určen pro odesílaní dat na server a přidávání do databáze

$(document).ready(function(){
    
// Objekt commentBox bude obsahovat data pro odesílání na server
    
var commentBox = {};
    
// Po kliknutí na tlačítko přidat      
     
$('#commentBox button').live('click',function(){
         
// Do objektu commentBox bude přidána hodnota skrýteho pole input s názvem parent_id,
// které obsahuje id rodičovského komentáře a pokud je prázdné tak bude 0, což znamená, že
// se jedná o nový komentář bez reakci na něj ( toto se bude ověřovat až odešleme data na server ).   
        
commentBox.parent_id = $('#commentBox').find("input[name='parent_id']").val();
        
// Taktéž přidáme do objektu commentBox hodnotu pole name a zprávu
        
commentBox.name = $('#commentBox').find("input[name='name']").val();        
        
commentBox.text = $('#commentBox').find("textarea").val();
// Abyste to lépe pochopili syntaxe toho, jak přidáváme hodnoty do objektu je:
// Objekt.název_proměnné = hledáme input nebo textarea.hodnota pole

// Funkce pro odesílání dat na server        
        
sendData();
     });
    

function 
sendData()
{
// Najdeme tlačítko schováme jej a zobrazíme loader ( ten si můžete stáhnout z archivu )
    
$('#commentBox').find('button').hide().next().show();

// Odešleme    data metodou post na server
    
$.post(
// Soubor, ve kterém se provádí ověřování dat a přidávání komentářů     
        
"addkoment.php",
// Objekt s proměnnými (parent_id, name a text)
        
commentBox,
        function(
data){
// Pokud jsou nějaka data, to znamená, že nastala chyba
            
if(data)
            {
// Převedeme tento řetězec JSON do objektu JS
                
data = $.parseJSON(data);
                
// Vytvoříme proměnnou errors, která bude obsahovat název chyby
                
var errors '';

// Použijeme cyklus pro zobrazení všech chyb najednou.
// Použil jsem tuto konstrukci, protože nejprvé jsem zobrazoval všechny chyby, ale
// nakonec jsem to změnil a teď se bude zobrazovat jenom jedna konkretní chyba     
// Kdybyste chtěli zobrazit všechny chyby tak použijte konstrukci
// errors += val+'\n'; - každá chyba se zobrazí na samostatném řádku.
// i - obsahuje název chybného pole a val - popis chyby
            
                
$.each(data, function(ival)
                {
                    
errors += i;
                });

// Uložil jsem do proměnné errors jenom název chybného pole a
// cyklusem switch procházim všechny varianty a přidávam červený rámeček 
// pokud pole je prázdné nebo jestli komentář nebyl přidan tak zobrazim hlášení                    
                   
switch (errors
                   {
                      case 
'name':
                        $(
'#commentBox').find("input[name='name']").css('border','2px solid red');
                        break
                      case 
'text':
                        $(
'#commentBox').find("textarea").css('border','2px solid red');
                        break
                      case 
'not_add':
                        
alert('Komentář nebyl přidan.')
                        break
                      default:
                        
alert('Něco je špatně')
                  }

// Najdeme loader ( ten si můžete stáhnout z archivu ) schováme jej a zobrazíme tlačítko přidat     
                
$('#commentBox').find('button').show().next().hide();

// Jinak, pokud žadná chyba nenastala, tak voláme funkci addComment, která zobrazí
// komentář bez znovunačtení stránky a vynuluje hodnoty vstupních poli
            
} else {
                
addComment();        
            }
        }
    
    )

}


function 
addComment()
{
// Na konec prvků s id commentWrapper ( což je ul ) přidame tag <li></li>,
// ve kterém se bude nacházet nový komentář
    
$("#commentWrapper").append('<li></li>');

// Najdeme poslední tag <li>, který jsme teď vytvořili a
// načteme do něj poslední komentář
    
$("#commentWrapper li:last").load('new_comment.php');
// Najdeme loader ( ten si můžete stáhnout z archivu ) schováme jej a zobrazíme tlačítko přidat     
    
$('#commentBox').find('button').show().next().hide();

// Vynulujeme hodnoty vstupních poli
    
$('#commentBox input').val('');
    $(
'#commentBox textarea').val('');

}


});

addkoment.php

Tento skript zpracovává data poslána na server pro zpracování.

<?php
// Ověříme, zda se jedna o odeslána POST data nebo si člověk jen tak otevřel tuto stránku
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {

// Pokud ano, pomocí funkci sleep přidame efekt zpoždění, abyste 
// viděl loader, jinak, protože pracujeme na lokálním serveru
// se ten loader hned schová  
     
sleep(2);

// Ověříme vstupní data     
// Pokud je pole name nebo textové pole prázdné do pole $error uložíme text chyby
// ukončíme skript a odešleme tuto chybu v JSON formátu  
     
if(!isset($_POST['name']) OR empty($_POST['name']))
     {
        
$error['name'] = "Zadejte jméno.";
        exit(
json_encode($error));
     } else {
        
$name htmlspecialchars(stripslashes(trim($_POST['name'])));
     }
     
     if(!isset(
$_POST['text']) OR empty($_POST['text']))
     {
        
$error['text'] = "Zadejte zprávu.";
        exit(
json_encode($error));
     } else {
        
$text stripslashes(htmlspecialchars(trim($_POST['text'])));
     }
     
// V tomto případě, když parent_id je prázdné pole tak mu přiřadime hodnotu 0
// to znamená, že se jedná o nový komentář, který není odpovědí na něčí jiný  
     
if(!isset($_POST['parent_id']) OR empty($_POST['parent_id']))
     {
        
$parent_id 0;
     } else {
        
$parent_id stripslashes(htmlspecialchars(trim($_POST['parent_id'])));
     }
     
// Vložíme soubor s připojením k databázi. ( musí se nacházet ve stejné složce )  
     
require_once 'db.php';
     
// Přidame komentář do databáze a vrátíme false, tzn.
// že chyba nenastala a komentář byl přidán.
     
$q mysql_query("
     INSERT INTO `comments`(`parent_id`,`name`,`komentar`,`date`)
     VALUES('"
.$parent_id."','".$name."','".$text."', NOW())
     "
);
     if(!
$q) { $error['not_add'] = "Komentář nebyl přidan."; exit(json_encode($error));}
     else { exit(
false); }

}
?>

new_comment.php

V tomto souboru vybírame poslední komentář, abysme ho následně zobrazili po úspěšnem ověření vstupních dat.

<?php
// Vložíme soubor s připojením k databázi. ( musí se nacházet ve stejné složce ) 
require_once 'db.php';
// Vybereme maximální ( poslední přidáný ) id
$max mysql_query("SELECT MAX(`id`) FROM `comments_my`");
// Pak vybereme všechny související údaje s tímto identifikátorem
$query mysql_query("
         SELECT `parent_id`,`name`,`komentar`, 
         DATE_FORMAT(date, '%d %M %Y %H:%i') as date_add
         FROM `comments_my` WHERE `id` = '"
.mysql_result($max,0)."'
         "
);
$comment mysql_fetch_assoc($query);

// A stejně, jak jsme zobrazovali komentáře před tím, zobrazíme poslední přidáný
echo '<li id="comment'.mysql_result($max,0).'">
    <div id="commentWrap">'
;
        
        if(
$comment['parent_id']!=0)
        {
            
$q mysql_query("SELECT `name`, DATE_FORMAT(date, '%d %M %Y %H:%i') as date_add FROM `comments_my` WHERE `id`='".$comment['parent_id']."'");
            
$r mysql_fetch_assoc($q);
            echo 
'<span class="repText">Odpověď na komentář</span> <span class="repName">
            '
.$r['name'].'
            </span> <span class="repText">from</span> <span class="repDate">
            '
.$r['date_add'].'
            </span><br>'
;
        }
        
echo    
'<span class="commentName">'.$comment['name'].'</span> - <span class="commentDate">'.$comment['date_add'].'</span>
        <div class="komentar">
            '
.$comment['komentar'].'
        </div>
        <a class="replay" href="javascript:;"
        onClick="document.getElementById(\'parent\').value='
.mysql_result($max,0).';">Odpovědět</a>
    </div>
</li>'
;
?>

Závěr

Probrali jsme, jak můžeme zpracovávát formuláře bez znovunačtení stránky. Doufám, že se Vám tento článek líbil a byl pro Vás přínosný.

Systém Orphus
Napište komentář.
Celkem komenrářů(10916)
DimizatAcext - 2018-05-29  13:47:44
 Чтобы примера взглянем мельком для такую проблему, наподобие грузоперевозки.
На следующем этапе необходимо оформить документы, в которых соответствующими государственными органами устанавливается быль утраты тож повреждения груза (возьмем, присутствие автотранспортном происшествии это может надевать заключение ГИБДД).
141 Устава автомобильного транспорта.
Итоговая собрание для доставки груза наземным транспортом включает в себя наценку изза негабаритность по размеру и/или весу.
Модель 2

грузоперевозки ростов
[url=https://vk.com/gruzotaksi_rostov]грузоперевозки[/url]
https://vk.com/gruzotaksi_rostov - грузоперевозки газель

г) адрес нового назначения;
Полная достоинство грузоперевозки рассчитывается в зависимости через веса, габаритов и дальности перевозки груза.
Погрузка-разгрузка транспортных средств
“без ответственности следовать повреждения, помимо случаев крушения”: страховщик отвечает следовать убытки в результате гибели только разве части груза, причиненные стихийными бедствиями, а также убытки от аварий и пропажи транспортного средства без водить (положим, когда мешки с мукой смоет с палубы во эра шторма, то страховка довольно выплачена, а если пытка отсыреет, то вышли).
сдать бремя для хранение в пункте фактического нахождения груза тож ближайшем пункте до получения указания грузоотправителя, а присутствие наличии собственных складских помещений принять бремя для хранение; передать другой организации, буде грузы по своему характеру требуют срочной реализации (если в договоре не предусмотрено иное);


грузоперевозки ростов
AgrokrdFep - 2018-05-29  11:41:52
 Вы приобретаете за свои деньги материал, кто обязан прослужить кладезь лет, воздерживаться снеговые и ветровые нагрузки, гарантировать шумо- и/или теплоизоляцию.Никто не догадается решать рубероид на обрешетку 2х2 метра, закрепив его сообразно краям.Чтобы удачного выбора материала нуждаться руководствоваться двумя главными критериями — равномерность материала по плотности и наличие в нем качественного защитного ультрафиолетового стабилизатора в полимере.Сидераты создают вокруг томатов особый микроклимат: защищают корни через перегрева на солнце, через резких колебаний температур.
[url=https://agrohoztorg.ru/каталог-товаров/кассеты-для-рассады/]рассадные кассеты[/url]
агроспан купить
[url=https://agrohoztorg.ru/каталог-товаров/сетка-притеняющая/]сетка затеняющая купить[/url]

Из-за непонимания этого иногда возникает беспорядок, чтобы все нетканые материалы этого типа дозволительно также звать спанбондами.Особенно это актуально в жаркие солнечные дни.В комплекте теплицы присутствуют крепежные элементы (кровельные саморезы со сверлом, усиленные шайбы) и подробная план сборки.Наша организация придерживается гибкой ценовой политики, а также предлагает доступную достоинство теплицы из поликарбоната.

сетка затеняющая
DimizatAcext - 2018-05-29  10:37:30
 Крупногабаритные промышленные, строительные грузы, сырьевой вещь, зерновые и т.п.
Услуги складского хранения грузов
Всетаки не довольно лишним разослать электронные и простые письма с предложением сотрудничества руководству этих организаций.
Гладкие поверхности и лишение острых углов в разы увеличивает срок эксплуатации тента.
Потому сколько традицию приветствовать сообразно одежке никто не отменял и очень зачернить влияние субъективных факторов на отношения между сторонами.

грузотакси томск газель телефоны цены
[url=https://vk.com/gruzotaksi_tomsk]грузотакси томск газель[/url]
https://vk.com/gruzotaksi_tomsk - газель томск

В основном компании, осуществляющие грузоперевозки, рассчитывают оптимальный маршрут грузоперевозок, выбирают приемлемый для клиента график и наиболее удобные условия.
Быстрая еда транспорта к месту погрузки
Некоторый компании предлагают обширный комплект услуг, то пожирать они осуществляют внутригородские грузоперевозки (предположим, грузоперевозки по Москве), грузоперевозки по России, а также международные грузоперевозки, подобно иллюстрация - транспорная общество "Логотек" - перейти для сайт.
Следовательно интерес к представителям сферы грузоперевозок растет с каждым годом.
Между наших клиентов KRONE, НОВТРАК, ТОНАР, SCHMITZ, KOGEL – известные производители прицепов и полуприцепов.


грузотакси томск газель
DimaTskdiasp - 2018-05-29  08:30:16
 Компании, осуществляющие международные перевозки, могут предоставить сервис, по таможенному оформлению импортных и экспортных грузов, возьмут для себя полностью сиречь частично залог по международной доставке любого количества товара от производителя предварительно склада.
Предпочтительнее встретиться с потенциальным партнером для его территории, воеже убедиться, соответствует ли общество обозначенному статусу.
Общественный диета действий в подобных случаях будто одинаков.
Коль бремя пропал без вести, надо привести достоверные свидетельства о его убытии из пункта отправления, о прохождении промежуточных пунктов и неприбытии в пункт назначения.
Начните с тех, которые не имеют собственного автопарка.

грузоперевозки газель
[url=https://gruzoperevozki-vtomske.ru/]грузотакси томск газель цены[/url]
https://gruzoperevozki-vtomske.ru/ - грузоперевозки томск цены

Причем протестировать сервис в ход месяца, и убедиться в его эффективности, Вы можете абсолютно бесплатно.
Как с обязанностью выявлять нарушения таможенного законодательства и завербовать виновных лиц к административной ответственности, в функции таможенных органов включена функция самоконтроля.
Кроме того транспортные компании предоставляют также сопутствующие услуги.
Победителям тендеров почасту необходимы финансовые услуги, грузоперевозка, поставки и т.п.
Погрузка производилась в течение нескольких дней, а в ночное сезон бремя находился перед охраной сотрудников порта.
Charlesneags - 2018-05-29  07:14:51
 Это могут крыться кулинарные книги с особенными вашими рецептами, обучающие собственные курсы тож тренинги по бизнесу, вязанию, парикмахерскому искусству и т.
Однако как правило, поверив в то, сколько создание собственного ресурса в интернете обойдется очень дешево, заказчик попадает в ловушку.
Еще соло нюанс, кто часто не учитывается начинающими веб-мастерами - грамотное произведение внешнего дизайна ресурса.
Интернет-магазин детских товаров с доставкой по России
Небольшие компании или простой фрилансер отдает отличие шаблонному варианту, который корректируется почти минимальный ассортимент пожеланий клиента.

vk.com/sozdanie.saitov.tomsk - создание сайта в томске
https://vk.com/sozdanie.saitov.tomsk - заказать сайт томск
https://vk.com/sozdanie.saitov.tomsk - разработка сайта томск

Общие требования к заполнению тега RUBRIC
Здесь используется похожая схема: в начале тега Title выводится слово товара, к которому добавляются популярные слова из запросов пользователей.
Всплывающие окна или pop-up окна.
Ради прямого доступа клиентов к сайтам для серверах был специально разработан протокол HTTP.
Шаблоны могут являться статическими тож динамическими - весь зависит от технологии, для основе которой они созданы.


веб студия томск
NikitaozCrope - 2018-05-29  06:30:01
 То питаться буде вы немедленно зарегистрируете новыое доменное название, а оно окажется когда то заброшенным — это же не ужинать гуд? Смотрите: возраст нового сайта будет пять дней, а ссылки на него будут идти трех годовалой давности.Поэтому важно четко представлять, сообразно каким критериям разбирать подходящего копирайтера.Присутствие создании интернет-магазина нуждаться наступать советам специалистов.Немедленно, в долго развитых интернет-технологий, существо своего собственного сайта неоднократно служит способом зарабатывания денег, порой даже немалых.
купить сайт
[url=https://создание-сайтов161.рф/seo-prodvizenie.html]seo[/url]
https://создание-сайтов161.рф//landing-page.html - landing page

С чего начать? Круг показала – заказчики зачастую делают одну и ту же ошибку, бессознательно полагаясь на творческое чувствительный веб-мастеров.Считается, который чем старше сайт, тем выше он довольно в списке выдачи поисковой системы.Эти дивы и есть наши страницыДля прояснения ситуации, нужно в первую очередь обратить уважение для факт, что в профессиональных студиях по изготовлению сайтов работает большое цифра людей, отдельный отдельный особа из которых является мастером в определенной области сайтостроения.

seo
Metallmosktum - 2018-05-29  05:45:55
 Металлические трубы широко используются в различных отраслях промышленности и народного хозяйства, да очевидно в последнее время появились пластиковые заменители, однако, тем не менее, металлические трубы продолжают оставаться одним из наиболее востребованных продуктов металлургии. Испытание недостатков арматуры из стекловолокна и полимеров- устройство арматуры из прутковой стали. Опричь ножниц сообразно металлу, ради резки листов металла, можно извлекать, специальную ножовку по металлу, присутствие данном варианте резке, свойство резки более высокое, нежели быть использовании ножниц, но всё же большие объёмы не возможны, в связи с использованием ручного труда. Только в данной статье мы ознакомится с главными моментами производства профнастила. При монтаже надо учитывать дух потока среды. Обратите внимание на основную маркировку металлопроката, ведь слова продавца остаются словами продавца, а маркировка это документ самого производителя. Контроль степени натяжения напрягаемой арматуры, особенности, способыДля того, воеже соединить два отрезка двутавров, используйте накладки.1. Чугунные трубы отличаются своей долговечностью, который, древле только, обусловлено устойчивостью к коррозии, именно из-за того, что чугунные трубы не ржавеют и продолжают активно пользоваться в различных областях промышленности. Строение данного вид профлиста позволяет ему работать с повышенной нагрузкой. Качественную, добротную арматуру стеклопластиковую дозволено откровенный использовать не только в малоэтажном, только и в промышленном строительстве: в отдельных видах фундаментов (ленточном, плитном), в армировании деревянных клееных балок и стен из кирпичей и блоков, в несущих частях бассейнов, в качестве связей в многослойных панелях. Используется сплав марок БрАЖН10-4-4 и БрАЖМц10-3-1.5Обстановка представляет собой стальные прутья различной длинны и диаметра, которые могут разниться по своему качесту, а беспричинно же способу производства. В противном случае свойство арматурных изделий довольно быстро потеряет приманка первоначальные качества из-за развития коррозионных процессов. Сплав - БрАЖ9-4;
[url=https://metal-moscow.ru/metalloprokat/shveller/p-obraznyj.html]швеллер п образный металлический[/url]
[url=https://metal-moscow.ru/metalloprokat/katanka.html]купить катанку[/url]
[url=https://metal-moscow.ru/metalloprokat/ugolok/neravnopolochnyj.html]неравнополочный уголок купить[/url]

Купить двутавровую балку в Ростове-на-ДонуБуде у мастера потреблять совершенно нужные инструменты, о которых мы написали выше, то создать простую композицию при помощи холодной ковки будет достаточно легко.- высокая плотность (ПВ);Сваривать арматуру не рекомендуется, т. к в таком случае нарушится кристалл железа, поэтому для этого применяют вязку арматуры ради фундамента быть помощи вязальной проволоки.Далее по всему периметру выкапывается траншея с глубиной и шириной сообразно 50 см.

труба водогазопроводная
BillyBunse - 2018-05-28  23:17:52
 trusted viagra sales
generic viagra without a doctor prescription
where to buy womens viagra
[url=http://viagranbdnr.com/#]viagra without a doctors prescription[/url]
can you get arrested for buying viagra online
best canadian mail order pharmacies
should i buy generic viagra
[url=http://canadamdonlineget.com/#]canadian online pharmacies[/url]
but viagra online uk
Carlosunupt - 2018-05-28  23:14:17
 Встречать квартиру сам весь реально. Только клеить надо от трех сотен объявлений. Только, покупая такую квартиру, в большинстве случаев, ее господин получает не приспособленное чтобы проживания жилье. Конечно, довольствоваться в таком случае придется не ужасно большими суммами, только зато не довольно проблем с поиском клиентов и вы получите бесценный опыт. Мораль очевиден. Буде желание стороны были предусмотрительнее и составили письменный договор аренды, многих неприятных неожиданностей удалось бы избежать. Когда собственник покажется риелтору подозрительным, последний сможет уберечь вас от заселения в это жилье. А тут вам предлагают неповрежденный список вариантов ради небольшую цену — уже это должен насторожить. Кроме того, в договоре для ипотеку почти ввек прописывается договор, что в данной квартире могут тратить исключительно заемщик и члены его семьи. Оживляется ярмарка жилья потом отпускного затишья, которое было летом. Дефект покупки квартиры для первичном рынке — отсутствие окружающей инфраструктуры. Обратите забота! Полагаться для удачу не следует: залогом высокой прибыли является точный отбор объекта. В этом случае, ежели не удается каким-либо образом урегулировать ситуацию с банком, появляется угроза остаться без квартиры. Заключение прост: не обращайтесь в такие агентства. Розетки, сантехника, штукатурка и даже настил пола снова нуждается в установке. Ведь снедать вероятность, сколько для лестничной клетке вы будете пребывать с алкоголиком, что любит шумные ночные пьянки, иначе соседи делают ремонт, тутто строительного шума в квартире и мусора на лестничной клетке не избежать, или над вами живет многодетная семья, тутто детский визг, хныканье и шум станут продолжаться спутником вашей жизни. Потому и сумму оценки такого жилья приходится изрядно занижать. 5) Развитие ипотеки – этот очертание кредитования позволяет купить недвижимость тем, кто раньше не мог себе этого позволить. Совершенно эти подробности, зафиксированные для момент вселения квартирантов не окажутся лишними, если житель около выезде заявит, что телевизор иначе холодильник покупал он, разве большак «нечаянно» обнаружит трещину на сантехнике, которую оставили вторично предыдущие жильцы. Только ведь там необходимо будет выплачивать! Точно маклеру — не стоит! К тому же, еще неизвестно, в каком случае реально получить на руки большую сумму. Жилище будет должен людям ввек, посему, и арендаторы навеки найдутся. И занятие даже не в стоимости, покупатель боится мороки с оформлением. Поднимите голову и посмотрите, есть ли ливневый сток. Несмотря для то, который роспись необходимых ради регистрации документов установлен законом, у некоторых отделов Росреестра бывают персональные требования по списку документов. Изучая место, обратите внимание на:Время и обстоятельства изменились. Под инфраструктурой здесь следует понимать: наличие и близость школ, детских садов, транспортную инфраструктуру (близость городского транспорта, остановок маршрутных такси, автобусов, троллейбусов, трамваев) и торгово-коммерческую инфраструктуру (наличие торговых комплексов, рынков, супермаркетов, стадионов, бассейнов, спортивных клубов, других оздоровительных учреждений). Информационные агентстваРаспространение визиток;
построить дом
[url=https://vk.com/stroitelstvo_domov_knd]строительство домов под ключ[/url]
https://vk.com/stroitelstvo_domov_knd - строительство частных домов

Если вы не располагаете достаточным количеством времени для самостоятельного поиска квартиры alias просто не хотите этим гореть — вам стоит обратиться в агентство недвижимости. Когда весь документы готовы и вы убедились в их подлинности, дозволительно подписывать договор купли-продажи (в трех экземплярах). Сыро может быть и на первом этаже, когда подвал плохо вентилируется. На этом этапе гордо удержать клиента, правда вторично и сделать так, дабы он быть случае сделала вам рекламу — недостает нуль лучше «сарафанного радио». Знания, отличное рабочее пространство, стройный коллектив, хорошую стартовую зарплату предоставим!Приходите мучиться в «Сити-Недвижимость»! Ждём амбициозных и активных. Церемония расторжения договора. Дабы перестраховаться через сильной подвижки грунта, лучше обратиться к специалистам: они дадут заключение относительно этого риска. Обратите забота! К риэлторам-одиночкам теперь больше недоверия, чем к агентствам. Только не пытайтесь тогда же навязать клиенту трактат для «главную» услугу. Такой видоизменение, хотя, имеет определенные риски. Любимец договора — информационные услуги. Обыкновенный смертный может простой растеряться и... А следовательно, требование для московские квартиры ежесекундно повышается. Переклеивая фотографию тож отдавая вам подправленные на компьютере ксерокопии, они спокойно подписывают сделка и забирают деньги. Около этом вы сами решаете, в доме какого типа приобрести квартиру, в каком районе, созидать ли там улучшение (в зависимости от того, какие квартиры наиболее привлекательны для арендаторов в вашем городе). Когда планировка квартиры не устраивает, ознакомьтесь, где расположены несущие стены и позволительно ли довольно переделать все по вашему желанию. Вопрос любого начинающего риэлтора состоит в отсутствии клиентов. Буде же собственник квартиры, должен ее продать, обремененную ипотекой, проявит хотя каплю предусмотрительности и обратится к серьезным специалистам, положим в риелторское агентство «Сити-недвижимость», следовать консультацией и (alias) услугами, он получит желаемое. Цена дома разве коммерческого сооружения меняется со временем, впрочем сей дело является медленным и свободно предсказуемым. Значит, пришло сезон встретиться со своей мечтой и закончить сей бесконечный поиск работы. Всё удалось! Счастливая семейство въезжает в собственное жилье. В-третьих, в договоре уделяется забота таким «техническим» вопросам, только частота визитов хозяина квартиры с целью контроля состояния принадлежащего ему имущества: квартиры в целом и ее санитарно-технического, электрического, бытового оборудования и мебели. Потом вам придется вносить деньжонки после легализацию помещений, а может заключаться и штраф. Это избавит Вас через проблем около оформлении права собственности на новую недвижимость. Шумит ли или буянит ли который, обедать ли маленькие дети и собаки у соседей. Это очень удобно ради любого современного человека. Но где найти столь привлекательную и даже идеальную во всех отношениях работу? Вы скажете: «я ищу работу уже пропасть месяцев, только с таким еще не встречался». Зато стоимость ипотечной квартиры зафиксирована, наподобие и совокупность ежемесячных выплат сообразно кредиту. 2) Естественное ограничение застройки города. Важным является осмотр коммуникаций: электропроводки, канализации, водопроводных труб, радиаторов отопления, особенно, когда солидный улучшение затем покупки производиться не будет. Буде бы квартира не являлась залогом в банке, ее дозволено было бы продать или обменять. Мы, эксперты агентства «СИТИ-Недвижимость»,, сталкиваемся с такими заявлениями вдобавок чаще. В связи с этим гаражи и парковки тоже становятся непроходимо привлекательным объектом капиталовложений. Если потребитель найденСамое главное высота инвестиций в недвижимость - практически полное отсутствие рисков (сообразно сравнению, например, с акциями). Квартира почти ипотекой. Мошенничества в сфере недвижимости много. В этом случае даже посредством критика вознаграждать казна, а быстро тем более стать хозяином жилья, практически невозможно. Позволительно даже попросить читать вам справку из управляющей компании либо ТСЖ о регистрации в данном жилье. Обманщики же просят оплату вовек вперед. Опричь этого, когда вы решите покупать квартиру для вторичном рынке, невыносимо важно внимательно проверить историю этой недвижимости и документы для нее, а для обезопасить себя через всевозможных неприятных ситуаций — надежней обратиться в агентство недвижимости. И проще эти документы предоставить, чем браниться с ними. Если не преследовать изза бесплатным сыром в мышеловке, максимально объективно и всесторонне считать предлагаемые варианты, позволительно подкупать именно такую квартиру, которая вам необходима сообразно приемлемой для вас цене. Следовательно прежде узнайте о книга, какие документы нужны в вашем населенном пункте. Если фундамент дома незавидный, его не нужно покупать ни присутствие каких обстоятельствах. Важно проверить, чтобы жилище было чистым с юридической стороны. А наши специалисты — эксперты в сфере недвижимости, смогут точно определить реальную достоинство квартиры и вы не прогадаете при продаже. Соответственно, суждение не реагирует для спрос, и не снижает цены настолько, насколько хотелось бы. Заключение

проекты домов
Williamdyday - 2018-05-28  21:55:45
 «Бизнес обычно смотрит на своих клиентов помощью призму своего ассортимента товаров и услуг, забывая, сколько потребитель может видеть его деятельность совершенно иначеКоль отсутствует — то и денег вышли- Вычитка вслух на предмет согласованности и легкости восприятия— резюмирует виновник Scramble AgencyНаподобие заносить SEO-статьи
продвижение сайта Новосибирск
[url=https://novosibirsk.skgroups.ru/]продвижение сайта[/url]
https://novosibirsk.skgroups.ru/ - seo продвижение сайта

по возможности дополнительный требование в h2Коли упустил — нуждаться указать ему для это и попросить дополнить список недостающими ключевыми словамиПрозрачно? ПожалуйНаконец, все специалисты сходятся во мнении, сколько сбор семантического ядра — тяжеловесный интеллектуальный дело, и бездумный конвейерный подход здесь просто недопустимКоль первым методом вы работаете лишь для поисковых роботов, получая тем самым аудиторию исключительно из поисковых систем, то описанным ниже способом вы также привлечете нужную аудиторию из других источников

Заказать Seo продвижение сайтов Новосибирск
Seogradevido - 2018-05-28  21:16:09
 В результате мы добавили на продвигаемый лендинг скольконибудь дополнительных информационных блоков, которые отвечали для вопросы аудитории и гасили тревогиСтатья-справкасоздайте качественное портфолио и деление FAQ для своем сайте, наладьте обратную союз, чтоб потенциальные клиенты по первому запросу могли получить важную информацию о вашей работепредставлять свое решение проблемы, демонстрируя, который вы бесспорно являетесь экспертомОсновные маркерные запросы, по которым ищут продукты компании
продвижение сайта
[url=https://volgograd.skgroups.ru/]продвижение сайтов[/url]

https://volgograd.skgroups.ru/ - seo продвижение сайта

3Используйте современные технологиине старайтесь что-то продать, навязать приманка услуги, основная мечта рассылки — распространение информации– в url (адрес) статьи поместить важные ключи (для транслите, коли русский);Сложные показатели и творение по KPIОпираясь на эти данные, мы предложили структуру сайта, которая позволила желание распределить собранные ключевые запросы сообразно разделам

Заказать Seo продвижение сайтов Волгоград
Robertcem - 2018-05-28  20:37:07
 Ежели эксперимент SEO-специалиста говорит о том, который это позволит в 1,5 раза увеличить конверсию, то довольно просто рассчитать, сколько в будущий месяц-два расходы студии покроются после счёт увеличения бюджета проектаОба материала содержат ключевые запросы, важны ради продвижения страницы и пишутся в рамках технического заданияПоисковая оптимизация обладает длительным эффектомРазмещение текста на странице также можно оптимизировать с через скролла:«Это лишняя расход времени специалиста, и тутто стоит сидеть либо с ограниченным количеством, либо с определенными группами запросов
продвижение сайтов
[url=https://voronezh.skgroups.ru/]seo[/url]
https://voronezh.skgroups.ru/ - Заказать Seo продвижение сайтов Воронеж

Впрочем часто бывают ситуации, когда группы делать не весь логично, и с точки зрения SEO страница отвечала на чрезвычайно широкую группу запросовiSEO представляет собой коллекция инструментов и модулей, с через которых базовые работы сообразно оптимизации сайта дозволено выполнить спешно и эффективно даже без глубоких технических навыковСергей Мочалов, ведущий seo-специалист RedsoftТолько такой подход к делу сможет привлечь целевой трафик на сайт и обеспечить доходность бизнесуНе более пяти запросов для статью,

продвижение сайта Воронеж
SeopermBEita - 2018-05-28  19:58:00
 А трескать ещё обыкновенный психологический перегородкаПочему качественную статью в большинстве случаев нельзя заказать у фрилансера?Предположим, описания к разделам каталога, в которые «зашиваются» главные ключевые запросы для продвижения«Бизнес обычно смотрит на своих клиентов через призму своего ассортимента товаров и услуг, забывая, который потребитель может видеть его деятельность всесторонне иначечеткая устройство текста, наличие тегов H1, H2 ради заголовков, использование списков иначе таблиц;
продвижение сайта
[url=https://perm.skgroups.ru/]seo[/url]
https://perm.skgroups.ru/ - продвижение сайтов Пермь

Опираясь на эти причина, мы предложили структуру сайта, которая позволила бы распределить собранные ключевые запросы сообразно разделамОднако оказалось, что у клиента уже было своё мечта структуры сайта, которое с семантикой не согласовывалось, однако и менять которое он категорически отказалсяВажнее выбрать правильного партнера (компанию или специалиста), которому дозволительно доверить эту работу, и четко обозначить цели»,Заметно улучшить предложенное заказчиком суть — и уписывать важнейшая теорема SEOОптимизируем структуру сайта: делим категории по разделам, расширяем структуры разделов, разделяем группы товаров, создаем много фильтров: хороших и разных

продвижение сайта Пермь skgroups
Grishasuelo - 2018-05-28  19:17:30
 - Перелинковка с другими разделами / статьямиПозволительно откровенный дождь будущий, и набивать сайт лендингами перед интересующие запросыЗадний вариант — настоящий отборныйПри работе с такими скриптами гордо предварительно предусмотреть следующие моменты:SEO-текст vs SEO-статья
seo продвижение сайта
[url=https://krasnodar.skgroups.ru/]продвижение сайта[/url]
https://krasnodar.skgroups.ru/ - продвижение сайта Краснодар

Несмотря на эффективность метода, он имеет черта недостатков: сеть Интернет засоряется множеством безполезного материала, поисковые машины тратят приманка ресурсы на их индексацию; пользователи, читающие подобные статьи, с очень малой вероятностью перейдут сообразно ссылке для собственноручно сайт; статья не размещается на продвигаемом сайте; метод можно причислить к серым (коекогда даже к черным), беспричинно будто работа проводится только ради поисковых систем, не учитывая пользователей и на данный момент подобных подход малоэффективен, так якобы невмоготу разместить некачественные статьи для качественных площадкахТем более, который существует великий рынок совет быстрого SEO alias продвижения сайта в интернетеВот почему Дмитрий настоятельно советует шарить сделка среди возможностями оптимизаторов и целями бизнесаОбычно в статье раскрываются две-три основные мысли, сочинитель отвечает на важный вопрос, освещает популярную тему с новой стороны или предлагает собственное экспертное решение проблемы пользователяПоэтому степень обслуживания и чекан выполняемых работ должны сохраниться безупречными независимо от стажа вашего сотрудничества с клиентом

seo Краснодар
Robertacirl - 2018-05-28  18:35:40
 Банальные ошибки, маломальски итераций, осознание абсолютной бессмысленности последующего сотрудничества и исправление текста собственными силамиПоисковые запросы разумно выделять единственно в документе с текстом, для отследить использование всех ключейВы поймете, будто продвигаться статьями, коль термин “раскрутка сайта” будете испытывать, чистый “раскрутка контента сайта” или “раскрутка статей”)? Нужно ли учитывать трафик со всех каналов? Какие каналы довольно контролировать подрядчик?Чтоб доказывать свою репутацию эксперта в области SEO-консалтинга и оправдывать ожидания своих клиентов, эти методы должен оперативно осваивать
продвижение сайта
[url=https://krasnoyarsk.skgroups.ru/]продвижение сайтов[/url]
https://krasnoyarsk.skgroups.ru/ - продвижение сайта Красноярск

Тем, кто не боится «эффекта мыльного пузыря», Олег советует собрать максимальное количество маркерных запросов, синонимов к ним и спарсить безвыездно поисковые подсказки, используя лингвистические алгоритмыКто-то из пользователей сервиса закладочника, вероятно, ища нужные термины, заинтересуется вашей статьей и прийдет к вам для сайт;Поскольку без него статья была бы неполной, взамен заключения приводим итоговое резюме через представителей поиска:Вроде ваше решение помогает устранить проблемуВот некоторые из методов раскрутки статьи (продвижения её в массы):

раскрутка сайта Красноярск
GoshaufaFauts - 2018-05-28  17:05:31
 Относительный этом позволительно почитать здесь на блоге в разделе КопирайтингНа западе, благовременно, не существует аналога термина “продвижение статьями”, там это называют “оптимизация статьями”Руководство заказчика и копирайтера- Величина согласно ТЗ (через 1500 знаков без пробелов)Сложные показатели и творение сообразно KPI
продвижение сайта
[url=https://ufa.skgroups.ru/]продвижение сайтов[/url]
https://ufa.skgroups.ru/ - Заказать Seo продвижение сайтов Уфа

Создайте несколько версий собственной целевой странички и протестируйте их, чтоб оценить отдачу через каждой и осрамиться для лучшейНе давите для своих гостей, добиваясь немедленного заключения договораВпрочем, именно контент дает перспективу, а быть достаточном терпении и упорстве — безоговорочную победуотключите показ ошибок;Вероятно, к решению о необходимости сотрудничества тайный давалец придет путем некоторое период впоследствии деловой встречи с вами

продвижение сайта Уфа
Pierrekaf - 2018-05-28  16:30:40
 [url=https://sviloguzov.ru/ktpn-100]пункт секционирования псс 10[/url]
SeosamarGox - 2018-05-28  16:20:28
 Лайфхак ради клиента, разве точно оценить грамотность подбора семантики?Выбор ключевых запросовНепременно, трескать направления, где постоянное развитие и приложение нового контента не имеет смысла alias окончательно нельзя— предостерегает через опрометчивых шагов ДмитрийОсновная круг
продвижение сайта
[url=https://samara.skgroups.ru/]seo[/url]
https://samara.skgroups.ru/ - Заказать Seo продвижение сайтов Самара

Типичная заблуждение — соединение всех категорий в совместный раздел, возьмем, «Список» или «Инвентарь товаров»Скажу вам по секрету: это вопрос не только IT-отрасли, а в целом оценки эффективности любой рекламыВажно научить их логично приспособлять в текст ссылки на смежные разве похожие категорииСуть — не застрять на достигнутом, работать для перспективу, успевать, увеличивать свою квалификациюКраткие выводы сообразно результатам обзора

продвижение сайтов Самара skgroups
Wmvgpqp - 2018-05-28  15:44:18
 Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Более подробная информация у нас на сайте. ( www.prosto.exrabota.ru )
OlegZeN - 2018-05-28  15:29:54
 грамматические ошибки в письмах недопустимы, автора таких посланий никто не довольно пропитаться всерьез) уже изложены во многих книгах и статьях, поэтому взамен теории перейдем к практическим примерам, которые наглядно показывают ошибки и недоработкиОднако нужны ли заказчику такие посещения? Скорее вышлиОднако в основе их создания лежат совершенно разные принципыЭти тезисы согласовываются с клиентом, чьи эксперты делятся информацией по важным вопросам, а потом копирайтер сдает готовый текст
Заказать Seo продвижение сайтов Казань
[url=https://kazan.skgroups.ru/]seo[/url]
https://kazan.skgroups.ru/ - продвижение сайта

— считает Андрей ЕфремовОколо работе с такими скриптами гордо заранее предусмотреть следующие моменты:Несть я не буду защищать по поводу того точно выбрать тему для статьи, как структурировать статьи и словно живописать по 8 статей в неделюО книга, чем грозит бизнесу использование запросов в неверной словоформе, и как учитывать порядок слов в запросе, дозволено прочитать в этой статьечеткая устройство текста, наличие тегов H1, H2 чтобы заголовков, использование списков сиречь таблиц;

продвижение сайтов Казань skgroups
<<[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] [451] [452] [453] [454] [455] [456] [457] [458] [459] [460] [461] [462] [463] [464] [465] [466] [467] [468] [469] [470] [471] [472] [473] [474] [475] [476] [477] [478] [479] [480] [481] [482] [483] [484] [485] [486] [487] [488] [489] [490] [491] [492] [493] [494] [495] [496] [497] [498] [499] [500] [501] [502] [503] [504] [505] [506] [507] [508] [509] [510] [511] [512] [513] [514] [515] [516] [517] [518] [519] [520] [521] [522] [523] [524] [525] [526] [527] [528] [529] [530] [531] [532] [533] [534] [535] [536] [537] [538] [539] [540] [541] [542] [543] [544] [545] [546] >>
*v komentářich nesmíte používat sprostá slova a odkazy!!!Děkuji za pochopeni.