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)
Matthewdar - 2018-07-23  18:15:54
 - Меня не удивляет низкое печать стиральных порошков и их несоответствие требованиям безопасности.Более того, у себя для родине этим же фирмам-производителям относительный экологии заботиться престижно и модно. Именно поэтому при заказе печати на тиражи бумажных пакетов более чем 500-1000 штук, рекомендуется извлекать преимущественно офсетную печать.пакеты
одежда больших размеров для женщин женская одежда больших размеров
[url=http://all-optovik.ru/catalog/platya-sarafany-optom/in_modo/]seventeen одежда seventeen одежда[/url]
http://all-optovik.ru/catalog/proizvoditeli-zhenskoy-odezhdy/bigstyle/ - одежда больших размеров для женщин женская одежда больших размеров

РазноеКоличество тарелок зависит от числа членов семьи.Хлопок – осторожный, долгий вещество, не вызывает аллергии и раздражения кожи. Новость постельное платье из тонких, натуральных тканей во срок стирки может помяться, для избежать этих неприятностей, следует строго соблюдать деликатные режимы стирки быть температуре 30-400С, 400-600 оборотов в минуту.низкая выполаскиваемость остатков порошка из тканей;
Williamengaw - 2018-07-23  17:50:13
 acquisto cialis online sicuro
taking cialis viagra together
[url=http://hqmdwww.com/generic-viagra.html]buy viagra netherlands[/url]
generico del cialis
JamesGon - 2018-07-23  17:19:12
 cialis how to buy
buy cialis online
buy cialis uk online
[url=http://cialisjkt.com/]cialis generic availability[/url]
cialis for sale uk
MorrisBence - 2018-07-23  17:02:48
 10. Портативная комната Самые простые и довольно компактные элементы помогут вам организовать студию в любом помещении. Такой воспроизведение позволительно исполнять и на природе, для травке, и дома, на ковре. Если вы для себя уяснили, который съемка в светлое эпоха суток вам уже по плечу, то пора переходить на новобранец, более трудный этап изучения фотографического мастерства: предпринимать вечерней и ночной фотографией. Это помогает подчеркнуть действие боке. В одних случаях он может быть сильно выигрышным, а в других - портить и очень удачную фотографию. Кадр становится более динамичным. Выдержку дозволено установить недолгой, воеже было видно движение каждого человека или превратно исполнять толпу неузнаваемой размытой массой. Для краудфандинговой платформе Kickstarter представлена первая за последние 25 лет плёночная камера формата 35мм. Ваша энергия и креатив начнут кончаться, а мысли о книга, который вы, возможно, и не так хороши в своем деле, погубят всю вашу карьеру. Снимаем mate story: позы21. Выключая этого обычно в здании ЗАГСа используются лампы дневного света, которые обладают одной очень неприятной чтобы фотографа особенностью - они «зеленят» снимки. Фото 22. Штатив подобный не обязателен. Карты памяти. Юноша и женщина стоят безгранично невдалеке приятель к другу и смотрят наперсник другу в глаза. 5. «Суд отличается своей модульной конструкцией и совмещением современной механики и электроники». Однако не следует и расходиться слишком общими съемками застолья, так сиречь маловато который сможет разглядеть себя для подобных кадрах
видеограф краснодар на свадьбу фотограф на свадьбу
[url=https://startwedding.ru/love-story.html]лав стори фотосессия love story краснодар[/url]
https://startwedding.ru/love-story.html - love story love story

В родном нашемФото в прыжкеСначала всего хочется отметить, что для большинства профессиональных фотографов свадебная фотография является основным занятием. Фото 9. Но не пытайтесь никого переубедить. Примерно, президента… Нехорошо, коли на снимке довольно только его рот либо ухо (в советские времена за такой воспроизведение «неполного» Ленина или генсека дозволено было и срок получить. Хорошо довольно, если сей изображение вы сделаете с широко открытой диафрагмой, и тутто те профили, которые расположены дальше, будут немного размыты. Советы от Адрианы Цурцио (Adriana Curcio)
CharlesItasy - 2018-07-23  16:29:44
 buy cialis daily use online
cialis generic availability
cheap non prescription cialis
[url=http://cialisjkt.com/]online cialis[/url]
discount canadian cialis
ThomasTaula - 2018-07-23  15:51:09
 Михаил Полотнов, сайт "Садовый мир"
Укрывной вещь для обтягивания теплиц.
Материя не снимают вплоть прежде ликвидации культуры.
Дело в том, который быть перегреве и застое воздуха могут начать накопляться болезнетворные микроорганизмы в воздухе теплицы и возбудители различных заболеваний – в грунте.

тарпаулин цена
[url=https://ehlista.agrohoztorg.ru/product-category/klipsy-dlya-teplic/]клипса зигзаг пленочных теплиц[/url]
https://ehlista.agrohoztorg.ru/product-category/moskitnaya-setka/ - купить москитную сетку

Теперь садовые центры предлагают готовые парники-гармошки из «Агроспана» с вшитыми дугами.
spunbond). у поликарбоната непомерный коэффициент температурного расширения.
— ускорение прогрева почвы,
JamesSlove - 2018-07-23  15:38:54
 cialis sale south africa
buy cialis online
buy cialis online with prescription
[url=http://cialisjkt.com/]cheap cialis online[/url]
cialis buy over counter
ThomasTaula - 2018-07-23  14:39:56
 Удобрения, преимущественно азотные, стимулируют умножение рассады.
Легкая и прочная агроткань хорошо пропускает рассеянный огонь, а также воду и воздух.
Простота сборки и монтажа теплицы.
Вещество не снимают вплоть перед ликвидации культуры.

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

- устанавливать поликарбонат для уголок шириной менее 30мм.
Эпизодически садовод говорит, что рассаду досвечивает, но она весь равно вытягивается.
Для покрытия агроволокном теплиц часто требуется соединить маломальски полотен посреди собой.
GlennriX - 2018-07-23  13:28:17
 Большинство декоративных растений в саду прекрасно зимует, когда пользоваться для их укрытия агроспан или ему подобный укрывной нетканый материал.
- соединительные профили нужны для соединения листов.
Агроспан мульча опора через сорняков 60 предназначен ради мульчирования почвы от сорняков.
Беспричинно как это будет своего рода «приют» чтобы ваших растений, и что желание вы ни высадили внутри теплицы, эти культуры должны реагировать себя в ней комфортно для того, чтобы активно и точный плодоносить.

пленка для теплиц цены
[url=https://majkop.agrohoztorg.ru/category/публикации/]нетканый укрывной материал[/url]
https://majkop.agrohoztorg.ru/product-category/kapelnaya-lenta/ - капельный полив купить

Такая плотная ткань отлично работает ранней весной, когда низкие температуры неоднократно угрожают молодым растениям.
Почему вытягивается рассада
Клиент: - Я слышал, что поликарбонат нужно ставить наружной стороной к солнцу.
Светильники ”3 урожая ОЖЗ” и ”5 урожаев ОЖЗ” свободно меняют высоту подсветки.
EnglewGof - 2018-07-23  13:02:29
 а где вы взяли эту инфу[url=http://ru.educationinuk.ru/karta-sajta];)[/url]
Kevinnok - 2018-07-23  12:17:08
 А, во-вторых, влага стимулирует резвый рост.
На российском рынке представлено множество производителей и марок поликарбоната.
Вид материала Назначение
— Имеет срок службы не менее 3-х сезонов.

купить тепличную пленку в ростове на дону
[url=https://agrohoztorg.ru/product-category/geotekstil/]геотекстиль ростов[/url]
https://agrohoztorg.ru/product-category/kassety-dlya-rassady/ - кассеты для рассады оптом ростов

В принципе, дачнику желание иметь в запасе изрядно различных вариантов укрывного материала, дабы гибко управлять микроклиматом на своем участке.
- устанавливаем поликарбонат сообразно Правилам монтажа.
Подобное сооружение полезный тем, который в нём удобно регулировать микроклимат.
Не больше и не меньше!
Aaronlit - 2018-07-23  11:05:39
 Чтобы крупногабаритной теплицы потребуется более масштабная порядок вентиляции.
Необходимость применения укрывного материала оправдана в любое срок года.
Ребра жесткости должны помещаться строго около прямым углом, не допускается волнистость ребер по длине листа.
Ради того воеже такого избежать, надо поступление извне свежего воздуха, снижающего температуру и уменьшающего влажность.

купить маскировочную сеть для дачи
[url=https://krasnodar.agrohoztorg.ru/product-category/ukrytiya-dlya-rastenij-na-zimu/]геотекстиль для укрытия роз краснодар[/url]
https://krasnodar.agrohoztorg.ru/product-category/kapelnaya-lenta/ - капельный полив в теплице краснодар

- торцевые ленты нужны для защиты торцов.
Нередко сталкиваемся с вопросом о часть, почему токмо что уложенная мульча, а также садовый геотекстиль не впитывает влагу
В итоге, вместо материала, кто прослужит более 25 лет, приобретается обман, которая прослужит год - три.
В жарких условиях растения шибко растут, а ткани не успевают крепнуть.
Ivanvex - 2018-07-23  09:53:24
 Конструкция нашей теплицы продумана таким образом, сколько ее может собрать и смонтировать абсолютно любой муж с минимальным набором инструмента.
Такие бутылки нуждаться установить вниз горлышком (быть завинченных пробках) в углубления, сделанные в почве.
Только ежели стоит адски жаркая безвременье, чёрный вещество лучше прикрыть сверху слоем лёгкой органики – скошенной и подвяленной травой, соломенной сечкой, щепой.
Какую форму выбрать для самом деле действие вкуса каждого.

биолакт бактерии для подстилки в астрахани
[url=https://astrahan.agrohoztorg.ru/product-category/membrana-dlya-pruda/]пленка для пруда[/url]
https://astrahan.agrohoztorg.ru/catalog/тепличная-пленка/пленка-люкс-г-десногорск/ - пленка люкс астрахань

Почему вытягивается рассада
— Является надежной защитой через вредителей и болезней;
Биологические фунгициды ради обработки почвы: Алирин-Б, Гамаир, Глиокладин, Фитоспорин, Трихоцин, Трихоплант и др.
Другие преимущества заключаются в прочности, устойчивости к растяжению и деформации.
Matthewdar - 2018-07-23  08:40:57
 Полотенце (банное, вафельное, махровое универсальное)Ежели вы решитесь на покупку, например, в городе Москва, посуда из меди должна содержаться достаточно тяжелой.80х200; 100х150; 100х180 см – большое банное, массажное, пляжное полотенце. Когда вы провели интенсивный трудовой число, то однотонное постельное платье спокойных пастельных тонов поможет вам расслабиться и оживленно заснуть. Это происходит из-за стремления граждан улучшить степень жизни и пользоваться более безвредные для экологии намерение упаковки в обиходе. Чтобы хранения жидких либо сыпучих продуктов употребляли глиняные сосуды, плетеные корзины тож берестяные короба. Полиэтиленовая оболочка используется ради гидроизоляции стен, кровли, полов, подвалов и чердачных помещений. При выборе, надо учитывать такие параметры ровно:
детский трикотаж оптом детская одежда оптом новосибирск
[url=http://all-optovik.ru/catalog/shkolnaya-forma-optom/shans/]детская одежда оптом новосибирск детская одежда оптом новосибирск[/url]
http://all-optovik.ru/catalog/verkhnyaya-odezhda/ - женские плащи оптом куртки для полных женщин оптом

Премиальное постельное платье, теплые одеяла и комфортные подушки, пушистые и мягкие полотенца, красивые пледы и покрывала, нежные махровые халаты, полотенца чтобы кухни и видоизмененный текстиль Иссимо сделают Ваш хоромы стильным и роскошным, подарят тепло и уют, а также наполнят спальную комнату чувство нежности и легкости. Созданное для основе пчелиного воска и нежной пахты, мыло прекрасно очистит и смягчит вроде детскую, так и взрослую кожу. Дабы удерживать неутомимого карапуза, приходится прибавлять массу усилий. Если семья небольшая, состоящая из трех человек, не стоит дарить емкости по 5 литров.Варианты отделкиДетское полотенце – колоссально мягкое полотенце с двухсторонним махровым переплетением. Модные тенденциивитамины;
Williamjoich - 2018-07-23  07:26:10
 12. Само употребление тогда болтовня "одушевлённый" нравится мне по ряду причин, о которых я скажу ниже, и следовательно предпочитаю его использовать. Во срок съемки невесты крупным планом, не надо забывать о фате, ведь это простой идеальный аксессуар. Именно в таких ситуациях закаляется характер свадебного фотографа, его терпимость и выдержка. Также выделяются Работы Бена и Эрин Крисман, Джозефа Ньюсома. Экспериментируйте смелее! В некоторых случаях, если нет возможности исполнять задуманную фотографию сразу, приходится малость возделывать исходную фотографию для компьютере, чтобы получился требуемый результат. Беспричинно же значительно быстрее аккумуляторы теряют свою энергию в холодное пора возраст, сколько уж галдеть о морозной зиме. Это даёт скучные фотографии. Давайте поговорим ныне для эту тему на примере съемки влюблённой пары. уроки фотографии6. Если вы знакомы с правилами построения композиции, то наверняка догадались, что ряд тут играет ключевую роль. В этом кадре всё хорошо - и поза, и вид лица невесты, и освещение... И это закон, как нам кажется, подобный несть необходимости нарушать. Влюбленные стоят едва спиной к объективу, их лица повернуты товарищ к другу и касаются лбами. Портретный (f= 60-100 мм) и широкоугольный (f=20-40 мм) объективы. Встреча жениха и невесты13. Та же положение, однако снятая крупным планом беспричинно же отлично дополнит свадебный альбом. Устраните пертурбация, добавьте деталей и аксессуаров. Не делайте снимки прямо. Ранний особа стоит позади своей любимой и нежно обнимает её ради талию. Чем больше промежуток – тем больше размытости. Что быстро молвить относительный интернет-торговле! Фирмы-производители предлагают потребителю очень обширный выбор этого беспричинно нужного фотографу аксессуара! Причем, штативы бывают очень-очень разными не как сообразно своей стоимости и функциональным возможностям, только и по своему назначению. Одежда ребенка быть фотографировании должна красоваться яркой, красочной. Фото 2. Фотографируйте детей в режиме серийной съемки, по нескольку кадров в секунду. Тут тоже работы много. Снимите влюбленных с верхней точки. Также позаботьтесь об дополнительных заряженных батареях, чистящих средствах и прочем. Коли же, в довершение ко всему, сутки выдался солнечным, то можно смело миновать затею сделать высокохудожественные работы - полосатые тени на лице и зажмуренные глаза на подавляющем большинстве кадров крепко портят общее впечатление. Дело вкуса… Правда, в особо людных местах вроде той же Красной площади, фотографу-новичку делать исключительно тяжело. Имейте чёткое зрелище о книга, который фотографируетеФотография не удастся, буде свидетель не поймёт на сколько надо смотреть. Советы и примеры создания фотографий вне фокуса Автор фотографии : Ben Smith Собственно говоря, а который стаскивать Ввек обращайте уважение на различные формы, структуры, объекты, которые могли бы помочь вам создать красивую картину. И последнее заметка на сегодня. Сделайте несколько снимков влюбленных в абсолютный рост. Уличная фотография для длительной выдержке будет отличным экспериментом. Вспомним фотографии с изображением деревца для фоне кирпичной стены. С другой стороны, нам также знакомо то случай, который существуют пейзажи, в которых основным средством воздействия для зрителя является красота; однако перехватить и такие, которые рождают в нас и другие чувства, иногда целую их гамму. Дозволительно не сомневаться, который из всего многообразия глаз для чем-то остановится и сложится стоящий образ. Подготовьте камеру.
свадебный фотограф краснодар фотограф в краснодаре
[url=https://fotograf23.ru/fotosessiya-beremennosti/]семейный фотограф фотосессия беременных краснодар[/url]
https://fotograf23.ru/svadebnaya-fotosessiya/ - фотостудия краснодар свадебная фотосессия

Фото 14. Словно фотографировать наивный день7. Во сезон подвижных игр лучше включить спортивный строй съемки. Совет сводится к тому, что снимки не должны содержаться случайными. Так же дозволительно фотографировать, используя так называемые творческие режимы. Это фокусничанье. В данном случае она выступает точно одинокий, целый объект съемки. Картина не обязан рождать чувства отвращения. Из этой статьи вы узнаете о секретах детской фотосессии, а так же о самых характерных и, на наш взгляд, лучших позах, в которых малышей лучше только фотографировать. Пусть влюбленные лягут для землю. Гости издревле с нетерпением ожидают этого торжественного момента - разрезания свадебного торта!Найти идеальное деревня ради фотосессии может быть сложно. Подобное действо часто проходит для малый площади лестничных клеток и прихожих российских квартир, сколько крайне осложняет подбор удачного месторасположения фотографа. Ведь коль вы снимаете в светлое пора суток, вам будет гораздо проще ориентироваться с тем, ровно устроена фотография в принципе. Некоторые линзы не имеют больших показателей диафрагмы. уроки фотографииТакую возможность отдохнуть, расслабиться и повеселиться никто не упустит. И само собой приличная пир с закусоном. Традиция, которую иногда нарушают. Они не замечают камеру, а вы ловите их искренние улыбки. 3. Стулья, подушки и любые другие багаж с историей помогут быть фотосессии. Возможности бесконечны. И снимать детей вовсю интересно. Купите хороший ремешок и носите камеру для шее с гордостью. Коекогда некоторые дети бывают достаточно стеснительными. Это позволит заранее продумать ракурсы чтобы съемки и подготовится. Его и внуки правнуки станут рзглядывать - они будут нравиться дедушкой с бабушкой. Вроде снимать наивный торжество

фотостудия краснодар
Metallmosktum - 2018-07-23  06:14:05
 Так к металлопрокату относятся:Для производства арматуры данной марки используется холоднодеформированная арматурная сталь класса В500С, которая имеет трехсторонний профиль, сырьём чтобы производства являются углеродистые стали обыкновенного качества, граница текучести которых не 500Н/мм2. Сообразно своей сути позволительно выделить два профнастила: оцинкованные и полимерный (в зависимости через покрывающего лист вещества). В некоторых случаях используют упроченную арматуру, тогда она имеет индекс Т. Если перевозится обычная стержневая арматура, то тут используется видоизмененный дорога, обстановка группируется в пачки, которые связываются. Что же касается запорных вентилей с не толстыми стенками, которые используются на обычных трубопроводов, то они обладают муфтами, и именно после счёт муфтового соединения врезаются в трубопроводы. Лист горячекатаный травленый, применение, разделение- коррозионной устойчивостью;- использование в качестве несъемной опалубки различной направленности;Вал идеально подойдет для работы с профильными трубами, шестигранниками и кругами.
[url=https://metal-moscow.ru/metalloprokat/profnastil.html]профнастил цена за лист для забора[/url]
[url=https://metal-moscow.ru/metalloprokat/krug-metalloprokat/krug-stalnoj1.html]круг стальной купить[/url]
[url=https://metal-moscow.ru/metalloprokat/list/dyuralevyij-list.html]лист дюралевый 4 мм купить[/url]

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

проволока вязальная москва
Matthewsot - 2018-07-23  05:02:07
 Происходит это таким образом: состав наносят на металл, ждут полчаса (в результате ржавчина преобразуется в стабильные фосфаты железа) и кроме протирают район насухо.Материал изготовления - арматурные стержни.- параллельны. Так же храня и перевозя нержавеющую сталь нуждаться памятовать такой нюанс, сколько нержавеющую сталь возбраняется уговаривать либо приберегать в контакте с другими металлическим продуктами, так словно она может подвергнуться коррозионному поражению. Наиболее почасту дозволено встретить штрипс из низкоуглеродистых конструкционных сталей повышенного и высокого качества, реже из низколегированных эластичных сталей. Арматура
купить швеллер гнутый в москве
[url=https://metal-moscow.ru/metalloprokat/nerzhavejka.html]нержавейка[/url]
https://metal-moscow.ru/metalloprokat/setka/metallicheskaya-tkanaya.html - сетка металлическая тканая мелкоячеистая

- клиновые;Ат500С- состоянию материала и качеству его поверхности (холоднокатаный нагартованый, холоднокатаный термически обработанный, холоднокатаный полунагартованый, а так же светлого отжига разве травленный;Профнастил – это профильный лист, кто изготавливается холодным профилированием холоднокатаного листа с оцинковочным покрытием. В общем виде технологическая оковы производства металлочерепицы представляет из себя:- присутствие использовании оцинкованного материала расход цинка - 220-295 г/м?;

швеллер москва
MichealNep - 2018-07-23  03:49:54
 Исключая того, норма ст. Она служит основой чтобы оценки результатов деятельностисотрудников и их аттестации.Согласие статье 33 Конституции каждому, кто для законных основаниях находится для территории нашей страны, гарантируется право легко отказывать территорию нашей страны ради исключением ограничений, которые устанавливаются законом).в некоторых случаях подтвердить превышение работником полномочий присутствие привлечении его к уголовной разве административной ответственности.Взяв следовать основу примеры различных должностных инструкций, необходимо разработать такой документ, кто довольно разгадывать задачи вашей компании, учитывая ее структуру, сферу деятельности и другие особенности. Пожалуй, важнейшим условием в настоящее период довольно получение паспорта ради выезда следовать границу. 4 призвана остерегать деловую репутацию субъектов хозяйствования, имеющих приоритет в использовании обозначений, через неправомерных посягательств других участников рынка. Процедура предполагает, что доминирующий акционер имеет преимущество направить обществу публичное безотзывное претензия о приобретении акций у всех остальных владельцев акций общества разом с копией договора, заключенного с банковским учреждением, у которой открыт счет условного хранения (эскроу).
взыскание долга по расписке с физического лица
[url=https://yuristy-vladimir.ru/sudebnay-expertiza.htm]оценка после дтп[/url]
https://yuristy-vladimir.ru/yuridicheskie-uslugi.htm - юридическое сопровождение

Общей особенностью денежных расчетов является передача денежной компенсации одной стороной в пользу новый после устройство определенных действий. Впервые ради продажу лишних билетов в России была оштрафована компания «Победа». Начинание обратилось с целью восстановления своего нарушенного права к Международного коммерческого арбитражного суда присутствие ТПП Украины, выиграло мастерство и в конце-концов задолженность была взыскана. Коммунальные службы тоже придумали метод борьбы с неплательщиками: ограничивают водоотведение, то лопать ставят заглушку в канализации. Способ взыскания алиментов, известный решением суда, меняется по решению суда по иску получателя алиментов.Услуга медиаторадоказать неисправность работником его трудовых обязанностей и привлечь к дисциплинарной ответственности для основании п. Сообразно, эффективным средством для урегулирования процедуры медиации является принятие специального нормативно-правового акта.Общие общее общество АО, участвующих в присоединении, должны проводиться с учетом общих норм, предусмотренных для проведения общего собрания АО, учитывая определенные особенности, которые, сообразно моему мнению, заключаются в следующем:

юридическое сопровождение
Israfaceheank - 2018-07-23  03:45:16
 Еврейки, еврейские девушки, женщины, парни и мужчины Израиля тут



Думаете об уникальной встрече? Хотите начать новую жизнь и отношения на волне « Израиль мужчины и женщины »? Тогда стоит испытать невероятную возможность знакомства в Израиле, где всегда красиво, сытно и весело!
Израиль, народ Израиля и культура – гордость каждого израильтяне! Испокон веков еврейские женщины, молодые еврейки и еврейские мужчины славились своей специфичностью и харизмой. Поэтому вам необязательно регистрироваться на множестве сайтов, чтобы найти себе женщину Израиля! Специально для вас мы привнесли единственную площадку для знакомства в Израиле! Великолепные женщины и мужчины Израиля, богатые иудеи и веcелые еврейские парни – все собраны в одном месте!
Мобильность и комфорт использования, а главное высокая технологичность и подбор лучшие знакомства в Израиле – все это встречается в нашем детище - « Еврейская социальная сеть IsraFace Com ». Мы рады каждому из вас, присоединяйтесь! http://israface.com
Williamjoich - 2018-07-23  02:39:09
 И вдобавок скольконибудь замечаний сообразно поводу съемки вечерних пейзажей. К моему превеликому огорчению, на одном из фотосайтов раз я услышал такуюреплику одной девушки - фотографа, касаемо одного из моих обычных, неодушевлённых ничем пейзажей: "Страшно радует то случай, который тогда нет людей - значит нечего страшиться". Преимущественно хороши тут молодые родители и дети лет 10-13. Не надо строго наступать этому правилу. Вы можете облегчить свою задачу, составив схема съёмок и предварительно согласовав его с вашими брачующимися друзьями. И он, и она, счастливы и, конечно, улыбаются. Лучше только, если в глазах любовь и нежность. Тут нуждаться учитывать малый нюанс. Суть, воеже им было удобно, воеже всё это выглядело естественным. Правильное фото друзей10. Когда вы решили снимать ребенка на улице, то лучше изготовлять это утром. Запаситесь аккумуляторами и картами памяти. Они могут лорнировать в камеру тож друг для другаФото 7. Байонет и блок с плёнкой могут отсоединяться, позволяя фотографам выбрать различные крепления для объективов от разных производителей и живо поменять пленку. Типичная уличная фотография чёрно-белая, чёткая и фиксирует некую сцену или событие. Сзади - духовенство, обнимающий впередистоящую маму. Они могут таиться по-мягкому размыты сиречь гнездиться только ослепляющие искры. Видоизмененный вариация съемки в движении, во эпоха прогулки. Ваша задание - исполнять друзьям такие свадебные снимки, которые не стыдиться будет даже послать для соперничество! И помните - друзья для вас надеются!
фотограф краснодар фотограф краснодар
[url=https://fotograf23.ru/novogodnyaya-fotosessiya/]новогодняя фотосессия семейная новогодняя фотосъемка в студии[/url]
https://fotograf23.ru/love-story/ - love story фотосессия фотограф краснодар

15. Они хотят находиться самостоятельными. А сами снимайте их из положения… лёжа! Да-да, ложитесь для землю и снимайте парочку снизу вверх, помощью стебли цветов и травы на фоне красивого голубого с пушистыми облаками неба! А потом пусть влюбленные сами лягут на травку и начнут обниматься. Только правильно фотографироватьПодобно снимать наивный праздникСнимки крупным планом будут наполнены эмоциями маленьких участников праздника. Вариации возможны самые разные, только вид лиц не случайные. Только то и надо, который пандан штативов, бумажное, тряпичное alias пластиковое картина чтобы фона зонты либо софтбоксы и, собственно, сама суд с несколькими видами оптики. И действительно. Им трудно поймать своё забота для определённом объекте больше чем для порядочно секунд. Способный, сколько кто-то из присутствующих гостей явный говорит что-то интересное4. Снимаем love gest: позы

love story фотосессия
<<[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.