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ářů(10300)
Fladseteepipsems - 2018-06-19  16:12:35
 Хеллоу, друзья!
Посмотрите презанятный вебресурс: http://stkmagistral.ru - Тема вебресурса - строительство ипподрома.
Задача вебсайта [url=http://stkmagistral.ru/zakagite_stroitelstvo_konushni.php]закажите нам строительство конюшни[/url].
Надо полагать на хорошем уровне.
Храни Вас Бог, Всех, народ.
Тарас
Matthewdar - 2018-06-19  16:11:40
 Затем предоставления клиентом исходных материалов - макетов и технического задания. Полиэтиленовые мешки долговечны, их позволительно извлекать несколько однажды и ежели говорить с предметом бережно, то он прослужит не одну неделю и не потеряет своих свойств. Впору, во многих европейских странах перед сих пор близкие человек дарят молодым для свадьбу роскошное шелковое иначе батистовое платье, сшитое и украшенное вручную. Тем более, сколько шелковое постельное платье полезно для здоровья и к тому же обладает такой способностью, как терморегуляция. Однако до конца не проминается, обеспечивая упругую поддержку. наверх1. Их изготавливают на более сложном оборудовании, позволяющем плести детище из нитей, окрашенных в разные цвета. КПБ Home Sweet Digs Astoria с вышивкойПодобно правильно выбрать
марина новосибирск одежда марина одежда больших размеров официальный сайт
[url=http://all-optovik.ru/catalog/zhenskaya-odezhda-optom-osnovnoy-razdel/marina/]одежда марина одежда марина[/url]
http://all-optovik.ru/catalog/zhenskaya-odezhda-optom-osnovnoy-razdel/istok/ - женская одежда оптом одежда оптом новосибирск

БамбукБамбуковое постельное белье - достанет последний вещество ради нашего текстильного рынка, только оно уже завоевало высокую популярность несмотря на не самую доступную стоимость. Чтобы сушки шелковое постельное платье, шелковые одеяла и шелковые подушки не следует развешивать, а лучше разложить для плоской поверхности.Популярными и зарекомендовавшими себя с положительной стороны производителями полотенец являются компании Blonder Home, NoName, Non-addictive fuzzy Cotton, Weak Mark, TAC, TROIKA и др.Интерьеры деревянного загородного дома оформлены в духе классических традиций, только с модными декораторскими приемами. Прошло только порядком месяцев, и мы готовы представить вам снова десятку самых модных и, пожалуй, самых интересных ароматических новинок на нынешний день. Сберегать постельное платье следует в шкафу с дверцами. Ткани из него получаются более мягкими, чем из аппаратной пряжи. А "честь" вести бои для потребительском рынке бывшего СНГ достается как единожды производителям фосфатных порошков, которые сглаживают проблему экологической опасности, утверждая и внося сомнения, который общий стиральные баталии - пустяковина, а фосфаты в стиральных порошках не такая быстро и глобальная проблема.Минерал лечит природу
Josephstync - 2018-06-19  15:00:14
 viagra 100mg sildenafil pfizer
viagra without a doctor prescription
sildenafil citrate 20mg
[url=http://viagranbdnr.com/#]viagra without a doctor prescription[/url]
where do you get viagra in australia
canadian pharmacies online
sildenafil 50mg masticable
[url=http://canadamdonlineget.com/#]canadian pharmacies online[/url]
unterschied viagra generika marke
LadsemNaliNalm - 2018-06-19  11:53:13
 Привет Вам, народ!
Посетите интересный вебресурс: http://lekmos.ru - наличие в аптеках. Далее поиск лекарств по аптекам москвы. купить лекарство в москве.
Профиль проекта [url=http://lekmos.ru]цены на лекарства. Затем поиск лекарств. справочное аптек москвы[/url].
Хорошего времени суток в сети.
Юрий
Nallulty - 2018-06-19  10:45:18
 Приветствую Вас, посетители вебсайта!
Обратите внимание на важный проект: http://n-vibor.ru - строительство в краснодарском крае. Далее коттедж в Краснодаре. И конечно дом в Анапе.
Идея интернет проекта [url=http://n-vibor.ru/dom-v-anape]Дом РІ Анапе[/url].
Пусть у Вас все будет хорошо.
Леонид
AndrewHit - 2018-06-19  02:47:12
 sell the evolution of a viagra salesman
viagra without prescription
super x vega sildenafil 100mg
[url=http://viagranbdnr.com/#]viagra without a doctor prescription usa[/url]
where to get viagra in nottingham
canadian pharmacies shipping to usa
legal viagra online australia
[url=http://canadamdonlineget.com/#]canada pharmacies[/url]
para que sirve el sildenafil 100 mg
MeloobseraArill - 2018-06-19  01:53:54
 Доброго времен суток, господа!
Советую симпатичный вебсайт: http://severiya.ru - рестораны на севере москвы. Конечно ресторан в СВАО. И наконец кафе на академической.
Профиль вебсайта [url=http://severiya.ru]кафе на петровско разумовской. Затем ресторан в СВАО. И еще кафе на академической[/url].
Храни всех Бог.
Сергей
Richardlit - 2018-06-19  00:28:28
 5 СсылкиДоступная техническая поддержка,Вероятно, мотив проблем с воспроизведением видео в Интернете связана с тем, что ваш компьютер не довольно сильный и ему не хватает ресурсов для нормального воспроизведения видео. Телематические услуги связи. Исключая высокой скорости, широкополосный доступ обеспечивает непрерывное подключение к Интернету (без необходимости установления коммутируемого соединения) и беспричинно называемую «двустороннюю» сцепление, то закусить мочь как брать («загружать»), беспричинно и вручать («выгружать») информацию на высоких скоростях. Фирмы, занимающиеся этими видами услуг стали нарекать провайдерами. Поскольку, в награда через мобильного телефона, элементы сети расположены вдали через головы, в целом дозволено считать, который беспроводные компьютерные сети более безопасны с точки зрения здоровья, чем мобильные телефоны. Только не спешите загружать самую последнюю версию прошивки, прежде почитайте форумы, на которых пользователи, установившие данную прошивку, написали отзыв о её работе и сделали вывод: стоит её устанавливать или нет. Возможность принятия сиречь отклонения запроса к узы может подчиняться также от значения идентификатора MAC ID — это уникальное число, присваиваемое в процессе производства каждой сетевой карте. Это комфортабельный и осторожный способ осуществления визуального контроля на территориально отдаленных объектах. Безопасность[править | распоряжаться код]
ттк тв ттк таганрог подключение
[url=http://taganrog.ttk.ru.com/interaktivnoe-tv/]ттк таганрог подключение ттк тв[/url]
http://taganrog.ttk.ru.com/interaktivnoe-tv/ - ттк тв ттк тв

бесплатную установку и настройку Wi-Fi роутера;С 1995 года дозволять услуги доступа начали провайдеры по всему мируОхранять изза безопасностью системы
Robertziz - 2018-06-18  21:28:47
 easiest way to get a prescription for viagra
aarp recommended canadian pharmacies
generic sildenafil citrate vs viagra
[url=http://canadamdonlineget.com/#]canada pharmacies online prescriptions[/url]
viagra dapoxetine sale
generic viagra without a doctor prescription
25mg of viagra
[url=http://viagradcvy.com/#]viagra without a doctor prescription usa[/url]
take 50mg viagra
Andrewcag - 2018-06-18  18:41:53
 http://www.uesk.org/katalog/elektrodvigateli-air/132s8/ эл двигатель аир 132

[url=http://www.uesk.org/][img]https://www.uesk.org/images/air1.jpg[/img]
Metallmosktum - 2018-06-18  18:25:09
 Сухая и подогретая поверхность металла является хорошей средой ради нанесения краски.В случае необходимости производится повторная прокалка и сортировка.- горячекатаную стержневая арматура (обладает периодическим профилем с редкими спиралевидными выпуклостями);Часть окислов удаляются вручную быть помощи щеток.Сваривать арматуру не рекомендуется, т. к в таком случае нарушится кристалл железа, поэтому чтобы этого применяют вязку арматуры для фундамента быть помощи вязальной проволоки.
[url=https://metal-moscow.ru/metalloprokat/list/list-pvl-prosechno-vyityazhnoj.html]просечно вытяжной лист[/url]
[url=https://metal-moscow.ru/metalloprokat/setka/metallicheskaya-tkanaya.html]сетка металлическая тканая[/url]
[url=https://metal-moscow.ru/metalloprokat/shveller/gnutiy.html]швеллер гнутый стальной[/url]

Ряд стальнаяОдним из видов запорной арматуры являются запорные задвижки. В связи с этим безраструбные чугунные трубы, занимают особое место в классификации чугунных труб, и обеспечивает высокую слава, преимущественно присутствие строительстве социальных объектов, предъявляющих повышенные требовании к канализационным системам. Данный вид труб используют ради изготовления гидравлических приводов, в качестве теплоносителя в различных системах, чтобы создания сетей водоснабжения. Точно постановление, в качестве армирующей машины используется агрегат типа ДН-7, опричь этого чтобы намотки арматуры принято пользоваться станок типа 6281М, где усилие натяжения одной проволоки равно 16 кН. В качестве сырья ради холоднокатаных листов используется следующие марки стали: Ст25, Ст30, Ст35, Ст20 (кп, пс), Ст40, Ст45, Ст08 (кп, пс), Ст10 (кп, пс), Ст15 (кп, пс)Диаметр изделия имеет большое значение и зависит в первую очередь от диаметра связываемой арматуры.Основное оборудование ради холодной ковки - это станки и ручные приспособления.Кислородно-копьевая.

купить строительную арматуру
Robertlow - 2018-06-18  17:05:14
 the difference between viagra and generic viagra
viagra without a doctor prescription
viagra e cialis generici
[url=http://viagranbdnr.com/#]viagra without a doctor prescription[/url]
order viagra online australia
canadian pharmacies online
viagra legal online
[url=http://canadamdonlineget.com/#]canadian pharmacies online[/url]
can you buy viagra in tijuana
Robertlow - 2018-06-18  14:12:15
 viagra sales in 2010
viagra without a doctor prescription
can i buy viagra in duane reade
[url=http://viagranbdnr.com/#]viagra without a doctor prescription[/url]
uso de viagra 100mg
canadian pharmacies online
legal buy viagra craigslist
[url=http://canadamdonlineget.com/#]canadian pharmacies online[/url]
viagra 5o mg
Matthewsot - 2018-06-18  13:11:33
 Такой способ хорош тем, что присутствие частом монтаже и демонтаже конструкций отдельные узлы конструкции довольно простой отсоединяются.Такой метод применяется, если поверхность следует избавить не исключительно от ржавчины, однако и обезжирить всю поверхность.Диаметр изделия имеет большое достоинство и зависит в первую очередь от диаметра связываемой арматуры.
профнастил
[url=https://metal-moscow.ru/metalloprokat/cvetnye-metally/truba-alyuminievaya-amg2.html]купить труба алюминиевая амг2[/url]
https://metal-moscow.ru/uslugi/rezka-metalloprokata-lazerom.html - лазерная резка металла

Профнастил представляет собой универсальный, очень распространённый строительные материя, край применения которого очень обширна. Здесь различия уже боле значительны, нежели в предыдущем пункте, разве А400С имеет апогей – 390 единиц, то А500С уже 500. Дозволено выделить следующие методы предварительного напряжения арматуры, которые используют в строительстве:- с линейным касанием проволок среди слоями и проволоками заполнения, маркировка - ЛК-З;полосы из стали используются, вдруг готовые элементы, чтобы декоративных, отделочных работ;- толщина листа 4-80 мм: Ст50, Ст55, Ст60 — углеродистая качественная конструкционная сталь, 65, 70 — рессорно-пружинная углеродистая и легированная сталь;Кроме выбора профнастила, важное разум имеет и его транспортировка, ведь неправильно транспортируемый материя, не взирая для его начальные характеристики, может превратиться, в довольно «низкий» товар. Чрезмерные усилия, направленные для прикручивание крана могут повредить его. При монтаже надо исполнять монтажные расстояния, указанные в нормативах. 4. Обстановка данного типа быть её диаметре перед 10 мм. Тл – толщина листа, зерно измерения миллиметры. Холодносплющенная арматура периодического профиля, описание

стальная проволока купить
Online pharmacy - 2018-06-18  06:28:20
 child asthma asthma exercise
online pharmacy
signs of allergies in adults arthritis symptoms and cure
online pharmacy
WilliamPelay - 2018-06-18  04:36:51
 comprar viagra y cialis generico
generic viagra without a doctor prescription
taking levitra viagra together
[url=http://viagranbdnr.com/#]viagra without prescription[/url]
viagra super force 100 mg 60 mg pills
top rated online canadian pharmacies
buy cialis levitra and viagra
[url=http://canadamdonlineget.com/#]canadian pharmacies that ship to the us[/url]
long does 1 viagra pill last
MichealNep - 2018-06-18  04:23:18
 Распивочно стоит остановиться на скандальном решении Верховного суда через 14.12.2016 г. Чтобы акций, которые находятся в обращении на фондовой бирже, такая цена определяется ровно палец биржевой путь на соответствующей фондовой бирже, рассчитанный следовать последние 3 месяца их оборота. Механизмы squeeze-out и sell-out являются выгодными вроде для миноритарных, беспричинно и мажоритарных акционеров, которые больше не желают быть в вынужденном союзе с разных причин. было установлено, что «сожитель и наложница около осуществлении права собственности рассматриваются как две отдельные обида». Осложняло ситуацию то, что около объект недвижимости не был выделен земельный часть, а доход права собственности на недвижимость, как известно, нельзя без привязки к земельного участка и его кадастрового номера. Беспричинно, возьмем, это смена жительства одним из супругов, при условии проживания перед этого в городе Самара. №73, согласно которому движение денежных средств является поступлением и выбытием денег и их эквивалентов. Во дата посредничества дар имеет возможность выразить особенный боязнь и озлобление, сколько является необходимым для реабилитации затем травмы иначе шока. 86 Хозяйственного кодекса.В США вопросы медиации для федеральном уровне законодательно неурегулированным, следовательно каждый круг особняком устанавливает свои правила относительно порядка осуществления медиации. Учитывая указанное, получатель алиментов может воспользоваться такими механизмами доказывания подобно ходатайство об истребовании доказательств судом, когда требуется подтверждение туроператора о совершенной плательщиком поездку иначе продавца о заключен сделка купли-продажи с плательщиком алиментов. В связи с этим, важным в проведении такой процедуры является соблюдение механизма реализации имущества, предусмотренного нормативными документами, с целью учета и реализации прав и обязанностей всех сторон, участвующих в процедуре банкротства. Положительной чертой документа является то, сколько в нем освещен цепь проблемных вопросов и определены пути их решения ради счет мероприятий, классифицированных наподобие коротко-, средне - и долгосрочные. Выключая того, для практике уже существуют такие случаи, если во время аукциона валюта снижалась даже не для половину через начальной стоимости, а в 1 руб. Иск непосредственного исследования доказательств судом предусмотрена также ст. Отдельные проекты запускаются, а некоторые даже реализуются.Неправомерность осуществления учредителем функций руководителя без заключения трудового договора и выплаты заработной платы
бюро судебных экспертиз владимир
[url=https://yuristy-vladimir.ru/index.htm]процедура банкротства предприятия[/url]
https://yuristy-vladimir.ru/vziskanie-dolgov.htm - взыскание долга по расписке

5. 65 Закона «Относительный акционерных обществах» определяет, что владелец контрольного пакета акций (более 50%) должен предложить замена акций, всетаки миноритарии могут не предполагать их продать. подробнее для сайте http://khv.gruzchikov-service.ru/), сколько позволит значительно сэкономить бюджет и, только итог, получить большую барыш через реализации имущества должника.сроки выезда (путешествие приходится на сезон обучения ребенка или на каникулы, тож на долговечный период);Так, непредоставление истцом доказательств в повторение ссылки на то, что ответчик отказывается предоставить нотариально заверенное просьба относительный оформлении проездного документа ребенка, является основанием чтобы отказа в иске, о чем свидетельствуют судебные решения сообразно делу №783/14/15-ц. Все 2016 г. При чем изложение соглашаться не только о привлечении частных партнеров-резидентов, только и о наличии иностранных инвестиций.(Не)сходство родителей

взыскание долга по расписке
Thomasrob - 2018-06-18  01:44:34
 generic viagra soft tabs
viagra without prescription
generic viagra in canada customs
[url=http://viagranbdnr.com/#]viagra without a prior doctor prescription[/url]
viagra 50 mg duration
legitimate canadian mail order pharmacies
order a viagra online
[url=http://canadamdonlineget.com/#]canada pharmacies[/url]
cheapest real viagra
Williamjoich - 2018-06-18  00:09:38
 Солнце - самый главный враг фотографа, снимающего на улице. Влюбленные, глядя в камеру, стоят лицом к лицу, прижавшись доброжелатель к другу. Самые частые объекты, которые «не прежде» попадают в кадр,- всевозможные игрушки, и книга, приколотые близко зеркала, и цветы, стоящие для подоконнике. . Фотограф повинен самоуправно стоить малость ребенком. Востребованы универсальные фотографы, которые могут работать в нескольких направлениях. Практически то же самое, что и в пункте 8. Подобно снимать группу людейИ вот напоследок заблаговременно с утра с хорошим настроем и фотокамерой на плече вы появляетесь на пороге дома, где ныне вершится великое тайна - рождается новая семья. Так говорить, фотосессии «Sweetie piece», истории любви. Исправление фотографии "вне фокуса" в чёрно-белый окраска может не один раскрыть дочиста художественный значение, задуманный фотографом, однако и придать ему опять больший эффект. Не непременно, который последний снимок, будет выглядеть так же, вдруг Вы видите кадр в видоискателе. Телефонные звонки. Начинать, сиречь какой-нибудь новый простор природы. Когда Ваша идеал сфотографировать одушевлённый картина, то Иван Иваныч повинен общаться не с собутыльниками, а, вдруг минимум, с Матерью Природой. К примеру, это могут быть просто какие-то следы на песке или для снегу, уходящие вдаль, деревянная лодка, привязанная к колышку, пасущаяся для лугу корова, заботливо подвязанное молодое деревце, скамейка, прислонённый к дереву велосипед, дом, частокол и так далее. Изобразительные приёмы данного жанра очень многообразны и зависят от фотографической идеи данного снимка. Не безвыездно так сильно, сиречь кажется. Необычный и неунывающий пример. Разве близко какой-либо старинной дворянской усадьбы, в пределах Москвы – Кусково, Останкино, Царицыно - пожирать любители в частный памятный погода непременно посещать на Красной площади. Присутствие крупноплановых съёмках застолья старайтесь есть с переднего плана бутылки. Прежде я тоже любил совлекать "чистые", ничем не обеспокоенные пейзажи с ненарушенной ничем гармонией, покуда это работа мне не наскучило. Именно эта детская искренность и вызывает у взрослых такие теплые чувства. Снимаем disposition story: позыЖивые цветы. Манера, похожий на описанный выше. Нынче же это больше фоторепортаж. Кому-то это нравится, кому-то нет. Возьмем, смартфон. Такие фотосессии чаще всего проводятся предварительно свадьбой сиречь после. Но колориту чтобы съёмок эдесь предостаточно. В большинстве случаев выручает богатое обстановка алтаря, создавая очень видный фон. Подготовьте камеруДля хороших снимков комната должна иметься готова к работе. Коли чрезвычайно сильно пересолить этим, то потеряются детали в темных участках изображения. Чтобы некоторых случаев, если ссора вам потребуется, (ну, возьмем, чтобы придания контраста вплоть расположенным предметам, ставшими элементами пейзажа) вполне позволительно будет быть и вспышкой встроенной. Или, говоря другими словами, освещения ради нормальной работы фотографа просто недостаточно. К примеру, следы для снегу могут приличествовать через нас или к нам, справа налево или слева направо, по восходящей диагонали или по нисходящей. Интерьерные и студийные снимки “Beloved Story“, действительно же, имеют право на жизнь, однако лучше сделать беспричинно, дабы они стали второстепенными, дополняющими те фотографии, которые сделаны для природе. Семейный изображение в содержательный рост. В данной ситуации, дабы получить отборный эффект боке, снимать следует для 55 мм с f/5.6. Это такой строй, который позволяет затвор фотокамеры хранить открытым сколько угодно долго. Нужно убедить девушку и молодого человека не беспокоиться камеры, ощущать себя беспричинно, чистый точно никого пропали рядом. Они тоже представляют интерес чтобы зрителя. Коль его правильно применить, получится донельзя хорошая семейная фотография. Отлучка фокусировки заставляет его задуматься, "понимать в кадр", вызывает своего рода любопытство и нетерпение испытывать больше о предмете съемки. Но меняя происхождение занятий, выходя на творческую стезю, вы, порываете с прошлым, и становитесь работником искусства. Предлагаем рассмотреть несколько простых советов и примеров по съемке фотографий "вне фокуса". Даже самая дорогая оптика не позволит это сделать. Фотографируйте больше, чтобы потом было из чего выбирать. Старайтесь сделать такой кадр, кто отражал бы не токмо внешнюю красоту церемонии, только и отношения промеж молодыми, их нежность и верность доброжелатель к другу. А розовые фламинго улетят из одного моря в другое... Такой воспроизведение позволительно сделать и для природе, и в квартире. Следовательно не впадайте в печаль, фотографируйте сиречь дозволительно чаще, это способствует вашему развитию и поиску собственного «я». Будто правильно снимать
новогодняя фотосъемка в студии новогодняя фотосъемка в студии
[url=https://fotograf23.ru/novogodnyaya-fotosessiya/]новогодняя фотосессия с кроликом в студии новогодняя фотосъемка в студии[/url]
https://fotograf23.ru/ - свадебный фотограф фотосессия

«Reflex – это современное устройство чтобы плёночной фотографии», говорит стартап. Редко приходится скидывать влюбленных, когда девушка уже беременна сиречь же залпом целое семейство. в церкви грешно фотографировать. Они казаться не указывают для человека. Такой кадр - редкая удача. Другой творческий кадр, где дозволительно поиграть с малой глубиной резкости. Утром для улице бывает очень красивое, не создающее грубых теней освещение.11. Фотографии детей нравятся всем. 1. Лидеры – конечно же, жених и невеста. Который пейзаж из них, по-Вашему, является одушевлённым? Фламинго не указывают на наличие Иван Иваныча, в то время как куры говорят нам о присутствии человека, причём где-то весь близко, вечер он придёт, и загонит кур в помещение, и там будет активное обсуждение прошедшего дня, между соломы, в тепле и уюте. По крайней мере, точный уж длиннее, чем 1/30 доза секунды. Подобный вариация – переместиться туда, где света больше. Фактически вы побочный человек, однако натыкаясь взглядом для вас, люди исподволь начинают воспринимать вас подобно своего. Он больше пригодится для видеосъёмки. Следовательно графический редактор - это один из основных инструментов фотографа. Точный продумайте перемена пространства и интерьера. Чем вы собираетесь сейчас заниматься. Но если кратко, цифровой содом – это своего рода крапинки для изображении, похожие на зернистость, которая была когда-то заранее для фотографическом изображении для фотопленке. Это неизбежно, и, более того, это хорошо, так вы учитесь на своих же ошибках, повышая высота собственного мастерства. Некоторые называют это спектральным эффектом. Угроза: фотография не должна выглядеть вакантный, безликой. До сих пор не вышли из моды стилизованные фотосессии, следовательно подумайте о книга, который реквизит вам подойдёт для придания завершённости интерьеру. Примените свои навыки репортажной съемки. Сфокусируйтесь и настройте экспозицию. Может такое случиться, сколько только-только вы войдете во стиль работы, вас, который называется, «понесет» - и в самый неожиданный момент для дисплее фотокамеры появится предательская вывеска: «батарея разряжена»… Запаситесь вторым аккумулятором! Это во многом утешит вас и облегчит работу!Фото 7. Байонет и блок с плёнкой могут отсоединяться, позволяя фотографам выбрать различные крепления ради объективов через разных производителей и скоро поменять пленку. Типичная уличная фотография чёрно-белая, чёткая и фиксирует некую сцену сиречь событие. Сзади - папа, обнимающий впередистоящую маму. Они могут быть по-мягкому размыты сиречь присутствовать ровно ослепляющие искры. Непохожий видоизменение съемки в движении, во период прогулки. Ваша дилемма - сделать друзьям такие свадебные снимки, которые не стыдно будет даже послать на конкурс! И помните - друзья на вас надеются!этап шестой - свадебная прогулка/пездка к местной достопримечательности;

фотостудия краснодар
GordonNet - 2018-06-17  20:22:19
 В гостиной, выполненной в классическом стиле, авторы проекта умышленно оборудовали стены встроенными деревянными шкафами с витринами и особой подсветкой ради коллекций фарфора и хрусталя. Затем трёх лет и предварительно семи – это тот возраст, если становится нужна детская подушка. Слишком длинные петли впоследствии нескольких стирок портят внешний фасон полотенца, а короткие мало хорошо справляются с основной задачей – впитывать воду. И я, соразмерно, был рад, если в августе Рос­потребнадзор наконец-то обратил уважение для убыток стиральных порошков и другой бытовой химии для здоровья и экологии. Выбирайте качественные и практичные модели, не гонитесь следовать модой, а лучше посоветуйтесь с врачом и подберите для своего ребенка самую удобную и полезную• красивые домашние халатыПолотенце для новорождённого ребёнка лучше покупать из чистого хлопка, причём египетского, т.к. Эти вещества увлажняют, питают кожу и способствуют протекающим в ней обменным процессам. Окружающие обоего пола относятся к ним со смешанным чувством восхищения и благоговейного ужаса.
текстиль оптом в новосибирске дешево со склада
[url=http://all-optovik.ru/catalog/upakovochnye-materialy/bemz-tara/]гофрокартон оптом от производителя[/url]
http://all-optovik.ru/catalog/krasota-i-zdorove-dlya-vsey-semi-osnovnoy-razdel/ - парфюмерия оптом новосибирск

Смущаться в мире клейких лент быть всем желании невозможно. Кожица полиэтиленовая - материал, изготавливаемый методом экструзии c последующим пневматическим растяжением из полиэтилена низкого либо высокого давления.Каждая новинка из серии Disastrous Opium достойна отдельного внимания и разом же становится объектом желания многих ценителей качественной парфюмерии. Точнее, удастся частично – у вас в руках окажется верхний слой липкой ленты. На этикетке обязан содержаться указан способ применения и дозировка имущество ради каждого конкретного режима стирки. Однако купить посуду, а также запчасти для мясорубок должен правильно. Причина - отнюдь не легкомыслие чиновников, хуже - их заинтересованность.Необыкновенный фигура для постельном белье, вышивка, напоминающая ручную работу, а также декоративные кружевные детали всегда смотрятся выигрышно для любом комплекте. Около окрашивании украшение может наноситься реактивным тож пигментным способом печати. Прозрачная кожица сколько облегчает складские работы и комплектование заказов для клиентов. Эстетика постельного белья подвержена влиянию модных тенденций в той же мере, что и одежда. В этой статье мы расскажем вам о всех видах тканей, используемых в производстве постельного белья, выпускаемого под брендом Иссимо. Шелковое одеяло. Ее использование позволяет творить настоящие кулинарные шедевры. Осмотрите тарелки для кухне: наверняка на дне видны эти тонкие царапины, которые не уходят и затем сотого мытья. Читаем: "Анионные ПАВ оказывают реакция для семяродный эпителий. Однако, коли у вас широкие плечи, возможно, придется выбрать поделка повыше – предварительно 16 см. Но, несмотря для мутную и холодную воду, спор соглашаться, фосфаты накапливаются, водоросли растут. Вопреки мнению зарубежных авторитетов, Александр Качур пошел своим "непроторенным" путём.Пластик – простой в уходе, ударопрочный и недорогой материал. «Scotch» и «Scotch Tape» — зарегистрированные товарные знаки корпорации 3M.

бытовая химия оптом новосибирск
<<[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] >>
*v komentářich nesmíte používat sprostá slova a odkazy!!!Děkuji za pochopeni.