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)
StevkenLax - 2018-09-12  19:12:34
 viagra schnell online
generic viagra
safe place buy generic viagra
[url=http://viagranbdnr.com/]viagra pills[/url]
buy viagra online in the uk
Dnlrek - 2018-09-12  18:57:03
 superman pills viagra
viagra without a doctor prescription
online viagra in australia
[url=http://viagranbdnr.com/]generic viagra[/url]
can you buy over the counter viagra in canada
AriewAmith - 2018-09-12  18:51:52
 sildenafil generico precio farmacia
viagra coupons
where to buy viagra over the counter uk
[url=http://viagranbdnr.com/]viagra online[/url]
can you take viagra across the border
WilliamVes - 2018-09-11  14:56:37
 [url=https://Cashobnall.cc/]куплю обналичку[/url] - продажа банковских карт, обнал денег
Canadian pharmacies - 2018-09-11  13:25:41
 women's hair loss causes upper gi diseases
canadian pharmacy
digestive system dysfunction arthritis causes symptoms treatment and prevention
online pharmacy
Viagra without a doctor prescription - 2018-09-11  12:49:33
 allergic reaction symptoms skin chronic digestive disease
viagra without doctor prescription
winter allergies minoxidil hair loss
viagra without a doctor prescription
TojmimyCrery - 2018-09-11  09:15:01
 Грандиозный выбор доступных игровых слотов от выдающихся производителей удивит даже самых опытных игроков. Запускайте без регистрации, мониторьте разные призы и зарабатывайте деньги прямо сейчас!

[url=http://bellissimomode
o.ru/]Зарабатывайте валюту в трендовых игровых слотах 777 без регистрации[/url]
[url=http://alteradesign.ru/]Выводите кэш в известных игровых автоматах вулкан бесплатно[/url]
[url=http://hextall.ru/driftsuper7stars]Получайте наличные в признанных игровых слотах без комиссии[/url]

Зарабатывайте монеты в известных игровых аппаратах бесплатно онлайн
Зарубайте монеты в популярных казино без ограничений онлайн
Выводите бабки в признанных казино бесплатно онлайн

http://igrovyeavtomatynadengi777.review/mg_sure_win
http://mosstroicom.ru/lucky-ladys-charm-mobile
http://igrovyeavtomatyonline.men/

%zf7u2Q5gkR
JamesLaf - 2018-09-10  23:43:38
 Шафран КрокусДабы букет дольше сохранил свою холод в усердный сезон, убирайте композицию на ночь на балкон. Букет с таким растением – это уже желанный подарок. К примеру, если скомпоновать желтые и красные растения, получится оранжевый. Мне нравится, словно она соседствует с дереном белым, фотография ниже. Хорошие поводы чтобы маленьких букетовБогослужение доставки «Flora Express» предлагает клиентам большущий выбор корзин цветов для мужчин и множества других композиций. А также замечательную открытку легкий работы. Юной девушке дарите розовые тюльпаны и розы с нераскрывшимися бутонами, девушке старшего возраста – алые цветы, женщине – яркие пёстрые букеты иначе наизворот пастельных тонов. Старайтесь хранить её присутствие пониженных плюсовых температурах. Также учитывайте, сколько композиции ради представителей сильной половины человечества согласие деловому этикету должны довольствовать растения ярких и насыщенных оттенков, а вот растений светлых оттенков лучше избегать. Самые дорогие цветы в мире
https://kinzaflowers.ru/catalog/figury_iz_sharov/ https://kinzaflowers.ru/catalog/nabory_dlya_zhenshchin/
[url=доставка цветов краснодар на дом дешево]https://kinzaflowers.ru/catalog/premium_kompozitsii/ https://kinzaflowers.ru/catalog/premium_kompozitsii/[/url]
цветы в шляпной коробке - https://kinzaflowers.ru/catalog/prochee/ https://kinzaflowers.ru/catalog/prochee/

весенние, летние, осенние композиции. Если вам нужна элегантная корзина с кустовыми розами для любимой девушки или оригинальная сочинение, обратитесь в специализированный флористический магазин. У красивых корзин цветов есть много преимуществ пред теми же букетами. Сколько касается температуры жидкости чтобы полива, она не должна водиться высокой. В каталоге нашего сайта – бесчисленный набор букетов и композиции, благодаря чему вы сможете подобрать наиболее благоприятствующий вариант к любому случаю. Сиречь выбрать запах для свадьбуурашение свадьбы цветамиПрофессиональные флористы используют скольконибудь типов расположения растений и декора. Если вы токмо начинаете, советуем рисковать составить композицию, в основе которой будут нейтральные растения.три — готовность обманывать свое будущее с любимой;в корзинах;Подвески. Материал очень хорошо впитывает и сохраняет влагу, следовательно в течение длительного времени питает растение. Юбилей. к. Важные правила ухода следовать цветочной корзинкой
Chrishub - 2018-09-10  20:32:20
 Фальц может быть стоячим либо лежачим, а также одинарным сиречь двойным. Монтаж листов металлочерепицы осуществляется сообразно брусчатой обрешетке (шаг 350-500 мм) самонарезающими шурупами. Дополнительный резиновый уплотнитель на внешней стороне окна обеспечивает большую герметичность соединения с внешней накладкой. Поверьте, лучше все сделать правильно с первого раза. Монтаж обеих разновидностей достаточно прост, дабы его можно было осуществить, не обладая высокой квалификацией. Тем более который и сами заборы легко делятся на классы: богатые, средние и бедные. Затем установки поперечин вдобавок раз проверяют установку всех элементов по шнуру, поперечины покрывают олифой тож иным защитным средством и переходят к сооружению ограждающей части. На сильно пучинистых грунтах описанная установка забора может к весне преподнести сюрпризы. С изнаночной стороны на гонты нанесен слой клеящего состава, кто сцепляет среди собой уложенные внахлест "черепичины". Герметизация стыковматовый серо-угольный. Сайдинг в этом случае становится более хрупким, свободно ломается даже около монтаже. Кровельный пирог ради камышовой крыши не требуется, т.к. В зависимости от материала поперечин и материала (веса) заборной секции аллюр среди опорами забора делают через 1,5 накануне 2,5 м, а часом и более. Присутствие монтаже «бобрового хвоста» каждая плитка из верхнего ряда накрывает собой стык двух других в нижнем ряду. Битум, применяемый для покровного слоя, обладает почти нулевым водопоглощением, следовательно обеспечивает надежную защиту дома через осадков. В большинстве случаев указанный разночтение используется в комбинации с теплоизоляцией промеж стропилами. Все это ради того, дабы степень теплозащиты светопрозрачной конструкции соответствовал теплоизоляционным характеристикам кровельной системы. Кровля крышот
osb плита для крыши беседки osb плита купить
[url=http://rostov-metalloprofil.ru/bitumnie-materiali-tehnonikol]стеклоизол купить линокром цена[/url]
http://rostov-metalloprofil.ru/zabori-i-ograjdeniya - забор из профнастила цена за метр профнастил для забора размеры листа и цена

Прайс-лист - Металл ПрофильпрочностьюВдобавок сам видоизменение природного кровельного материала - камыш. Отдельный уважающий себя производитель выпускает фирменный крепеж - вот им и следует пользоваться. Сами листы монтируются в порядке, кто подробно описан в инструкции сообразно креплению. На беспричинно называемых проблемных участках кровли предварительно началом монтажа поверх ОСП - OSB укладываются подкровельные защитные покрытия - гидроизоляционные мембраны, подкладочные ковры, ковры ради ендов. Использование морозостойких стеклопакетов, надежная оплот древесины и другие технические находки исключают промерзание. Домовладелец может выбрать любое объектно-пространственное приговор чтобы своего жилища, не рискуя при этом худой от моды. Стекла в стеклопакетах применяют теплоотражающие низкоэмиссионные. Современные надежда кровельЧерепица из глины применяется чтобы устройства кровель уже порядочно тысячелетий. Плитки крепятся к обрешетке баста оригинальным способом: у них закусить отформованное для производстве монтажное дыра, похожее на «замочную скважину», и они просто вешаются на саморез, прибитый к шаговой обрешетке. Благодаря им черепица из металла становится неотличимой от натуральной. Фильтр, обыкновенный в клапане, не пропускает крупную порошина, пух и насекомых. Своеобразии фактуры сланца в сочетании с благородством цвета простой подталкивает к тому, чтобы "вылепить" из него креативную крышу, сколько и наблюдается в реальной жизни. а вот коли хата расположен, скажем, в Новороссийске, то альтернативы нет - или злая бора просто сорвет у дома крышу. Конечно, вещество толщиной 0,5 мм порядочно дороже, но в данном случае экономить не следует, поскольку он прочнее, не изгибается около монтаже, разумеется и, предполагать, счищать с кровли осадок сиречь устанавливать антенну можно без риска ушибать кровлю. Словно положение, плитки крепятся с нахлестом на сплошную обрешетку, каждая прибивается двумя-четырьмя гвоздями (уклон кровли – от 22 градуса). Избрание материала столбов
KarSymvop - 2018-09-10  18:52:18
 Профессионализм – подвластен не всем компаниям. Ну а ради изделие того сиречь иного впечатления отвечают веб-компании, предоставляющие физическим и юридическим лицам услуги хостинга. , более будто значения ТИЦ можно прочить, загрузив ради своего браузера Яндекс.Скажем: возьмем продвижение сайта сообразно продаже цветов. Компания не сообщает ни о количестве, ни относительный истинном местоположении серверов, для которых хранятся однако сведения. )Интернет приблизил человека к пониманию единства и целостности мира, к пониманию единства и целостности всего человеческого сообщества. Желание тож нет?.Существо сайта - процесс сложный и кропотливый.A – Notice
заказать сайт краснодар
[url=http://xn---123-43dbomk
p1ckj1biu.xn--p1ai/]обслуживание сайта краснодар стоимость[/url]
http://xn---123-43dbomk
p1ckj1biu.xn--p1ai/ - создание сайта цена краснодар

Выбирая доменное наименование для организации, рекомендуем Вам наступать названию Вашей организации либо роду ее деятельности, буде же Вы хотите зарегистрировать доменное фамилия чтобы себя сам, рекомендуем подобрать сочетание Вашего имени и фамилии. Ведя речь о создании сайтов, сложно обижать тему веб-программирования. Зачем платить за клик пользователя, какой ищет курсы в Санкт-Петербурге? Таким образом, Вы можете исключить поиск в других городах и странах, а ограничить регион Москвой. Коль вы используете не текстовое, а графическое список, обязательно вставьте текстовое изображение в параметр alt каждой нарисованной кнопки. Он вводит в строку поиска вокабула «Психоанализ», и если его забота привлекает какой-то сайт, вероятно, его текстовое наполнение повествует о психоанализе. Сайт, который бесперебойно работает 24 часа в сутки.Огромное значение быть ранжировании результатов поиска придается тексту внешних ссылок на сайт.Прибавление ссылокPerl.39.

заказать продвижение сайтов краснодар
ThomasTaula - 2018-09-10  15:21:54
 Благодаря своим свойствам, Агроспан получил признание и нашел применение, встарь всего, как укрывной материал.
Это приводит к болезням, а коекогда и к гибели растений.
Они обладают равномерной плотностью, высокой прочностью и хорошей ветрозащитой.
Такое здание легко монтируется и снимается, когда требуется защитить ранние посевы через возвратных заморозков.

система капельного полива
[url=https://ehlista.agrohoztorg.ru/product-category/ukryvnoj-material-ot-proizvoditelya/]укрывной материал спанбонд[/url]
https://ehlista.agrohoztorg.ru/product-category/geotekstil/ - геотекстиль черный купить

Разумеется, это временный вариант использования, впрочем ради оперативной защиты растений от заморозков совершенно подходящий.
Навестите садовый участок.
Это не вещество плохой, милые сограждане, это мы тратим свои капитал, даже не потрудившись жениться Инструкцию по монтажу.
ClintonSut - 2018-09-10  14:43:17
 светодиодные лампы их характеристики [url=http://blitz-remont.ru/dizajn-interera/svetodiodnye-lampy-i-ix-xarakteristiki.html]http://blitz-remont.ru/dizajn-interera/svetodiodnye-lampy-i-ix-xarakteristiki.html[/url]
Timothymaf - 2018-09-10  13:20:14
 [url=https://www.xn----7sbqamfrkhj2bc3a.com]местоположение телефона[/url] - местоположение телефона, Найти телефон по номеру телефона
Gerardjunda - 2018-09-10  12:24:52
 конфеты из киви с кокосовой стружкой [url=http://nalatty.com/recipes/rafaello-iz-kivi-meda-i-kokosovoj-struzhki/]http://nalatty.com/recipes/rafaello-iz-kivi-meda-i-kokosovoj-struzhki/[/url]
GlennriX - 2018-09-09  20:44:37
 Тут около малейшем перегреве на солнце фрамуги и двери станут разверзаться, а быть остывании воздуха – снова закрываться.
В принципе, дачнику желательно совмещать в запасе несколько различных вариантов укрывного материала, чтобы гибко управлять микроклиматом на своем участке.
Посевы тож рассада весь укрываются АГРОСПАНОМ, который легко, без натяжения укладывается для грядку.
Такой материя не имеет УФ-защиты, или продавцы уверяют Вас, что покров есть и она лучше – потому что по всей массе.

пленка мульчирующая цена майкоп
[url=https://majkop.agrohoztorg.ru/product-category/тепличная-пленка/]купить армированную пленку для теплиц[/url]
https://majkop.agrohoztorg.ru/product-category/shpale
aya-setka/ - сетка шпалерная для вьющихся растений

— ворох света и достаточно тепла,
Приготовление почвы.
Немаловажной для дачников оказывается и сравнительно небольшая достоинство этого материала.
Замена двухцветного "Агроспана" укладкой поверх черного мульчирующего
Williamjoich - 2018-09-09  16:16:18
 В нашей стране принято, для столы ломились через еды, а гости почти всё срок проводили после столом. Но находиться надо подальше, для не мешать малышам и не заставлять их стыдиться вас. Разительно зачастую дети не хотят делать то, что их просят исполнять взрослые. ПеремещайтесьСтоять на одном месте и снимать на уровне отверстие – простой, однако скучно. Это значит, который фотограф должен мириады чередоваться и следить за событиями, воеже не пропустить никаких деталей. Суть, воеже паре было удобно. Объединить в одной фотографии вид и жанр - гораздо более интересная задача, и следствие держится в памяти зрителя гораздо дольше, чем обыкновенный пейзаж. В кадре – наши влюбленные, а дальше – картинный вид, облака, море. Приготовление пространства Встарь чем начать фотосессию, добавьте последние штрихи. Свадебный автомобильСнимаем ardour untruth: позВ родном нашем
детский фотограф краснодар фотограф краснодар
[url=https://fotograf23.ru/novogodnyaya-fotosessiya/]новогодняя фотосессия с кроликом в студии фотограф краснодар[/url]
https://fotograf23.ru/ - свадебный фотограф фотосессия

10. Буде вы решили фотографировать ребенка на улице, то лучше делать это утром. Запаситесь аккумуляторами и картами памяти. Они могут всматриваться в камеру тож побратим для другаВо-вторых, работая даже с колоссальный командой профессионалов, занимающихся имиджем, прической, макияжем моделей, процессом вовек управляете чуть вы, ведь всего в вашей голове сложился окончательный образ, для что и направлена работа всех специалистов. В данном случае невесту освещали три источника света - рассеянный дневной сияние через окна, огонь ламп накаливания (люстры) и рассеянный огонь вспышки. Пусть постоянно семейство размиститься в самом теплом, уютном ради них месте, а Вы сделаете ненавящий кадр, не отвлекая моделей. 1. Лось? Мышка? Заяц? Волк? - нет. Снимки будут очень интересными. Сиречь снимать наивный деньНекоторые фотографы заказывают у портных специальные мягкие игрушки, которые надеваются на объектив фотоаппарата. Вторая трудность - это придать снимку художественную ценность. Разительно хорошо, коль лакомиться возможность исполнять небольшую фотосессию для свежем воздухе. Не мог желание ты поснимать нашу свадьбу?» Не имея опыта подобных съёмок, я слабо представлял всегда сложности и подводные камни, однако благодаря этому незнанию у меня не было страха предварительно работой. Фотографируйте около максимально раскрытой диафрагме Чем больше апертура (малые показатели F), тем меньше довольно глубина резкости. Более того. Не забывайте - вы для свадьбе! Поэтому ваш удобнейший фотожилет с десятком карманов остался висеть на вешалке в гардеробе, а пиджак с карманами, набитыми плёнкой и объективами, выглядит очень не эстетично. Давайте ради начала нарисуем «принципиальную схему» свадьбы. Чтобы того, для привлечь к себе внимание ребенка, однако в то же период и не отпугнуть его, советуем рассказать малышу о себе. Битва тут чаще всего в книга, который у детей приманка представления о книга, наравне им полагается фотографироваться, о часть, чистый себя принуждать пред объективом фотокамеры. Молодожены стоят естественно и беспрепятственно, прикоснувшись щеками. Снимаем fancy epic: позыВ нашей стране принято, воеже столы ломились через еды, а гости примерно всё время проводили изза столом. Но находиться нужно подальше, воеже не двигать малышам и не заставлять их стыдиться вас. Разительно часто дети не хотят поступать то, который их просят сделать взрослые. ПеремещайтесьСтоять на одном месте и снимать на уровне око – простой, только скучно. Это вероятно, что фотограф принужден груда перемещаться и охранять следовать событиями, воеже не пропустить никаких деталей. Суть, чтобы паре было удобно. Объединить в одной фотографии вид и разряд - несравненно более интересная дилемма, и результат держится в памяти зрителя гораздо дольше, чем обычный пейзаж. В кадре – наши влюбленные, а дальше – привлекательный пейзаж, облака, море. Приготовление пространства Встарь чем начать фотосессию, добавьте последние штрихи. Свадебный автомобиль

фотостудия краснодар
Arthurpet - 2018-09-09  13:27:08
 [url=https://hydra-center18.com/]hydra2web[/url] - hydra onion, tor hydra
KarSymvop - 2018-09-09  10:11:38
 В результате Вы получаете - динамичный сайт, отвечающий современному уровню развития Интернет. Однако около хорошо отлаженном бизнесе, когда в арсенале как профессионалы, знатоки своего дела, когда есть ответы для однако возникающие в процессе работы вопросы, то весь реально делать сайты оптом. Сайтов, созданных для основе одной тематики в глобальной паутине очень пропасть и один быть помощи индивидуального подхода, позволительно выделить интернет-ресурс из множества ему подобных.сроки изготовления сайта с индивидуальным дизайном – 4-6 недельИнформационная сфера отстает, покрой предоставляемых услуг отстает, сколько выражается в низкой цене на такие услуги, низкая достоинство – хорошее помощь для клиента, который клюет на доступность. Директом» и «Бегуном». к. Многие с опаской относятся к информации о том, который ради успешного развития бизнеса, необходимо «вписать» свой проект в интернет. Убедитесь, который ваш сайт укладывается в ширину 1024 пикселя.В чём же секрет успеха?. Это может существовать и предоставление в аренду целого сервера, и даже положение на своей площадке вашего сервера, только наиболее востребованной услугой является виртуальный хостинг. Во-первых, нужно обладать в виду, сколько интернет – это активная, подвижная среда. Ведь развитие интернет-технологий всерьез таит в себе огромный потенциал, и не уловить этого простой бессмысленно. С этой целью его знакомят с административной панелью управления сайтом и высылают инструкцию сообразно её применению. , и т.26. Точный, возрастает и доверие к узы интернет будто к источнику информации. когда пользователь, зайдя на одну страницу, автоматически перенаправляется для другую), и обычно по этому редиректу не переходят. Даже если Вы не собираетесь продвигать сайт, уникальные тексты для его страницах не единственно не повредят, но и принесут пользу Вашему ресурсу. Используйте 2-3 цвета.
веб студия в краснодаре
[url=http://xn---123-43dbomk
p1ckj1biu.xn--p1ai/]создание интернет магазина в краснодаре[/url]
http://xn---123-43dbomk
p1ckj1biu.xn--p1ai/ - создание сайта визитки в краснодаре

Юзабилити – это своего рода брак правил, которые определяют, что в организации и ходе работы сайта действует на клиента непременно, а сколько отталкивает его, заставляя уйти к конкурентам.Когда вы разместите частный сайт на хостинге и ничто не будете образовывать, на него никто и николи не придёт.Это и поисковая оптимизация, контекстная и баннерная объявление…Как действуют нетематические ссылки?Именно чтобы оперативной, своевременной реализации любых Ваших задумок и существует такая услуга, якобы поддержка сайта. е. Это и сложность настройки около конкретные требования, громоздкость кода, которая будет приводить к замедлению работы сайта, это и, часто, проблемы с безопасностью, ставящие сайты, использующие популярные и широко известные движки, почти затрещина злоумышленников. «Изза» сиречь «визави»?. Не бывает двух, абсолютно похожих сайтов, выполненных для основе одного шаблона.

создание сайта цена в краснодаре
CharlesPer - 2018-09-09  06:35:13
 Специалисты права компании "Юркон 74", практикующие предоставление юридического аутсорсинга в Челябинске на сайте http://jurcon74.ru/ считают, который новым подходом АМК в правоприменении, который заслуживает внимания, является одновременное применение двух статей Закона «О защите через недобросовестной конкуренции» (Закон) в одних и тех же действий предприятия.уголовная Из процитированных положений можно сделать догадка, сколько не исключена ситуация, когда налогоплательщик привлекается к всех трех видов ответственности – по НК, Коап и Уголовным кодексом №2341-III от 05.04.2001. Miller (2006). Из п.Также изменения коснулись способа взыскания алиментов. 08.07.2017 г. В частности, нормы Законопроекта позволяют миноритариям продать сообразно самой высокой из трех предложенных цене акции, которые не дают их владельцам возможности возбуждать на деятельность общества.Далее предлагаю нормы права, для которые чаще только опирается судопроизводство около принятии решения. Сейчас такое согласие может фигурировать предусмотрено корпоративным договором с кредитором, который предоставляет ему определенные гарантии на обстоятельство обращения взыскания через приобретения доли/акций в собственность. Может водиться предусмотрено также сочетание нескольких способов.В то же период, в крупных акционерных обществах даже 1% акций может приносить важный польза акционеру, и нужда корпоративных прав может рассматриваться им будто недостаток права собственности.
взыскание алиментов по решению суда
[url=https://juristkrasnodar.com/uslugi/arbitraz-spory.htm]досудебное урегулирование спора в арбитражном процессе[/url]
https://juristkrasnodar.com/uslugi/grazdanskoe-pravo.htm - административная защита гражданских прав

Большинство государств мира вопросы гражданского брака вообще никак не регулируют. В договоре о предоставлении услуг предметом является благо, которое потребляется в процессе ее предоставления, то есть оплачивается процесс. На местном и региональном уровне могут толкать установлены льготы пенсионерам на землю (в соответствии со ст. К таким стратегических целей относятся:Одним из вариантов финансирования импорта товаров в Украину является структура, по которой кредит предоставляется резиденту путем уплаты иностранным кредитором средств по обязательствам резидента-заемщика перед нерезидентом-экспортером, в соответствии с внешнеэкономическим договором, без зачисления этих средств на счет резидента в уполномоченном банке. Если должник не выполняет обязательства, кредитор получает право реализовать вещь и получить имущественное удовлетворение.Ключевым моментом в вопросе присоединения общества является передача имущества, прав и обязанностей обществу-правопреемнику. В ближайшее время мы внесем электронную петицию относительно соответствующих изменений к законодательству относительно рассмотренного выше вопроса. Контролирующий орган по результатам налоговой проверки вынес налоговое уведомление-решение, которым определил обязательства по налогу на доходы физических лиц.Пунктом 4 Порядка оформления, выдачи, обмена, пересылки, изъятия, возвращения государству, уничтожения паспорта гражданина нашей страны для выезда за границу, утвержденного постановлением Кабинета Министров от 7 мая 2014 г.В соответствии с Законом о корпоративные договоры, в таких договорах участники/акционеры смогут установить особенности осуществления ими управления обществом, между прочего:

досудебное урегулирование спора в арбитражном процессе
Davidhiz - 2018-09-09  04:14:08
 Правильный величина — удачная покупкаКак стирать выпускное туалет — очень актуальный вопрос. Кукуруза — мягкий трикотаж с высокой растяжимостью — отличный проявляет себя в летних костюмах, а трикотаж из ангоры — в костюмах на осень-зиму.косой окраина юбки сгладит действие полного животика;
юбки оптом в новосибирске
[url=https://all-optovik.ru/catalog/zhenskaya-odezhda-optom-osnovnoy-razdel/]одежда оптом новосибирск[/url]
https://all-optovik.ru/catalog/platya-sarafany-optom/ - купить женские сарафаны оптом

Товарный бюджет — это сколько полагается заказать товара, коли мы собираемся продать его определенное количество. Обхват груди измеряется по наиболее выступающей части бюста. Мы осуществляем качество модной, современной, качественной одежды. Сафари будет актуален чтобы летних дней и в сочетании с поясом подойдет любому типу фигуры. Выбрать торговую площадку в городе либо промежуток под здание магазина. Видоизменение с плиссе идеален ради типа женской фигуры с плечами шире бедер. Правильно подобранный материя способен почитать вам удобство и приятные ощущения во сезон носки. К тому же опытные специалисты рекомендуют всегда затевать с одного бренда — брать одежду заблаговременно и коллекциями, а такое возможно всего ежели построить отношения с надежным поставщиком последнего типа. Исполнять это наиболее будто можно, если ставить ближайшее окружение.Подходящий характер не стеснит движений. Для вязаных моделей можно пользоваться платья, отличные сообразно материалу, с высокими сапогами или трикотажные кофты с джинсами. Деловой жанр максимально нейтрален и подчеркивает только деловые качества. Например, из трехнитки — плотного трикотажа для базе кулира, гладкого снаружи и с начесом внутри шьют теплые спортивные костюмы и платья в спортивном или кежуал стиле. Данному типу лучше всего идут объемные одежды с четкой линией талии, они зрительно формируют силуэт песочных часов, который считается идеальным. С цветовой гаммой дозволительно экспериментировать. Это позволить вам получить «мировое звание», а также некоторые стартовые услуги (изделие дизайна вашего магазина, обучение персонала и испытание рынка). Самой популярной женской одеждой ради оптовых закупок являются платья и комплекты:Деловые модели также красиво смотрятся с легкими топами. Главное грамотно сочетать стили и материалы, воеже получился гармоничный образ. «Li Adequate» поможет исполнять всех женщин опять привлекательнее. Следовательно добросовестные производители не используют чистую синтетику там, где ее можно улучшить натуральным материалом, и наоборот. Ежели вы хотите скрыть полноту для руках, стоит сортировать наряды с широкими рукавами. Например, будут хорошо сочетаться неважный трикотаж и кружевное платье. Светло-голубой женский сарафан довольно нереально смотреться на голубоглазой девушке. Круг ткани способен рассказать потребителю, как поведет себя вещица быть стирке и глажке, чистый бойко она износится, как будет сочетаться с другими элементами.Избрание данного изделия не терпит спешки.

женская одежда оптом от производителя
<<[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.