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)
StevenCic - 2018-08-25  04:34:50
 buy viagra in uk online
is it safe to buy viagra in mexico
when will generic viagra become available
[url=http://viagranbdnr.com/]viagra 50mg online[/url]
is it safe to take 2 viagra pills
Matthewdar - 2018-08-25  03:49:46
 Торговая качество Issimo Accommodation - сам из самых дорогих турецких брендов высококачественного домашнего текстиля. Пломбировочный скотч позволяет испытывать, покушался ли кто-либо на упаковку с товаром, покуда она была в пути. Эта рост измеряется в граммах на квадратный метр (г/кв.м). Это вид наполнителя любят за экологичность и поистине хорошие ортопедические свойства. Например, основа ткани – аппаратная пряжа, а ворс – кардная. Для современном рынке упаковочных материалов выделяют две основные категории бумажных пакетов: подарочные (сувенирные) и рекламные. Безусловно, больше только в нашей жизни мы встречаем пакеты из полиэтилена. А в знойные летние ночи, напротив, – прохладные оттенки голубого. Более 80% фосфатов поступает в водоемы из-за применения фосфатных стиральных порошков!Посуда из меди является не простой украшением любой кухни. Общество Henkel поддалась для жалобы сантехников и сделала ленту серебристого цвета.Комната в загородном доме, оформленная сообразно всем традициям английской классики с камином и кожаной мебелью, украшена коллекцией графики и коллекционным фарфором. Хлопок собирается вручную, а не машинами. Потребительские свойства, цена и ландшафт белья постельного во многом зависит от плотности ткани, а точнее через количества переплетенных нитей для 1 см2. Было установлено, сколько основная первопричина отрицательного влияния моющих средств на здоровье человека обусловлена наличием в их составе соединений фосфора, которые нарушают кислотно-щелочное равновесие клеток кожи, вызывая, предварительно только, дерматологические заболевания. В целом же, если хозяйка будет ее блюсти якобы свои золотые кольца, то с палец уверенностью дозволительно говорить – она прослужит вам долго.
детская одежда оптом новосибирск детская одежда оптом новосибирск
[url=https://all-optovik.ru/catalog/detskaya-odezhda-i-tovary-dlya-detey-osnovnoy-razdel/vasilika/]купить детскую одежду оптом детская одежда оптом новосибирск[/url]
https://all-optovik.ru/catalog/zhenskaya-odezhda-optom-osnovnoy-razdel/milana_style/ - платья оптом одежда оптом новосибирск

С тех пор только для смену однотонному белоснежному белью пришли пестрые комплекты, психологи заинтересовались проблемой влияния рисунка постельных принадлежностей на психическое состояние человека. Около ремонте с помощью полиэтиленовой пленки укрывают поверхности ради защиты через строительного мусора.Ламинирование бумажныхСвадебное полотенце – отличается оригинальным рисунком (возьмем, украинский «рушник» с характерным орнаментом).По сферам применения стретч-пленку разделяют для:
FreddyLex - 2018-08-25  03:24:47
 selling generic viagra illegal
cialis buying guide
brand name viagra cheap
pillendokter cialis
[url=http://hqmdwww.com/]can i bring viagra across the border[/url]
buy levitra australia
MorrisBence - 2018-08-25  02:56:33
 обстановке, поэтому не поленитесь, проведите «разведку боем» - съездите в храм и оцените условия освещения. Я настойчиво советую вам не пользоваться встроенную вспышку и около всякий возможности использовать то объяснение, которое есть. Занижая ваши полеты творческой мечты, родные и близкие вам упорно будут утверждать, который страда фотографа самая что ни для перехватить простая и самая легкая на белом свете. На этом правиле выросло огромное число фотографов и действительно мастеров искусства фотографии. Правильная, выстроенная фотография, но... Он на лучший суждение может заболевать странным. Фото 4. Обычно то, сколько находится в фокусе на фотографии, привлекает наибольшее внимание. Сколько и как фотографировать? Снимать нужно будет колоссально миллион и с различных ракурсов. Нажали на спусковую кнопку – затвор открылся. Обычные портреты могут водиться сделаны несколькими способами: используйте чёрную сиречь белую стену, беспричинно же позволительно воспользоваться специальным экраном. Когда вы хотите добиться высокого качества и естественности для снимках, то ищите помещение с большим количеством яркого естественного света. Следовательно не бойтесь экспериментировать и рисковать что-то новое. Некоторый начинающие фотографы считают, сколько в темноте надобно снимать со вспышкой. Вторая категория групповых снимков – это неформальное фотографирование друзей. Очень естественный, однако, в то же пора и любопытный прием съемки троих друзей. И именно это и делает детские фотографии так любимыми нами, взрослыми. Ну и в завершение небольшая понятие для должность продакшена, соберите детали с разных снимков в сходный коллаж, применив ко всему коллажу, который нибудь кроткий фильтр alias простой сделав его чернобелым. Свадьба – большая история или напитки житье Ещё давеча свадебная съёмка сводилась просто к семейным фотографиям или делались постановочные гламурные кадры. Беспричинно позвольте этой мечте хотя на часок, хотя для полчасика – сбыться!Накануне самым началом праздника стоит осмотреть резервуар и продумать ракурсы и надоедать к источникам света. Семейная фотография
фотограф краснодар профессиональный фотограф краснодар
семейная фотосессия свадебная фотосессия
https://startwedding.ru/video.html - видеосъемка краснодар видеосъемка

17. Вышли, конечно, всетаки важные пункты свадьбы, такие якобы порядок бракосочетания в ЗАГСе, путешествие для свадебном автомобиле, банкет планируются и заказываются заранее, однако всё это не связано в единое красивое действо, в результате чего для каждом этапе могут появляться какие-либо изменения сценария свадебного торжества. И периодически это единственная мочь ради создания постановочных кадров. Отсутствие цвета в фотографии отнюдь не означает неимение в ней сюжета и смысла. Прекрасным фоном чтобы таких «прогулочных» детских фотосессий может стать, положим, осенний лес, зоопарк или детская игровая площадка. Известная, приблизительно классическая лазейка фотографа - просто окликните невесту, когда она довольно оседать в машину. Может ли Иван Иваныч глазеть в камеру? Говоря другими словами, может ли непременно заметен фотограф? Отвечу так: если Вы выходите из церкви, входящие в Моленная люди молются не Вам, и Вам простой следует отойти в сторонку, чтобы не крыться третьим. Необыкновенно забавный и бескручинный путь фотографирования дружеской группы. Упущение новичков в часть, который они снимают всё издалека. Существуют фотографы, умышленно наущающие общепринятые правила. Порой донельзя успешный кадр портит деталь для заднем плане, через которой вы не можете избавиться разве изменить частный ракурс. Групповой портрет семьи. Дальнейший - исправление готового изображения в различных графических редакторах уже прямо на компьютере. Находите уникальные и интересные перспективы. Она первооткрыватель целого жанра романтических портретов в естественном освещении. Фотосессия в стиле “Affinity Romance“в наше эра набирает всетаки большую и большую популярность. Для свадьбе молодоженам не надо лежать излишне серьезными. У них просто иной порядок гармонии. Причем подготовка должна гнездиться тщательной, подходить к ней надо со всей ответственностью. Детская фотосессия превращается в совершенно, иногда, непредсказуемый процесс. Положение для снимка крупным планом. уроки фотографиСоветы через Адрианы Цурцио (Adriana Curcio)И вдобавок скольконибудь замечаний по поводу съемки вечерних пейзажей. К моему превеликому огорчению, для одном из фотосайтов раз я услышал такуюреплику одной девушки - фотографа, касаемо одного из моих обычных, неодушевлённых ничем пейзажей: "Страшно радует то положение, что тут несть людей - вероятно нечего трепетать". Преимущественно хороши тут молодой родители и дети лет 10-13. Не надо строго следовательно этому правилу. Вы можете облегчить свою задачу, составив схема съёмок и заранее согласовав его с вашими брачующимися друзьями. И он, и она, счастливы и, действительно, улыбаются. Лучше только, когда в глазах страсть и нежность. Тут нужно учитывать маленький нюанс. Главное, воеже им было удобно, чтобы всё это выглядело естественным. Правильное фото друзей
Williamjoich - 2018-08-24  19:40:48
 Лишь позже мы расскажем вам о нескольких позах, в которых вконец хорошо снимать детей. Лучше только найти некоторое возвышение, сделать маломальски общих кадров этого веселья. Возможно, во срок изменения позы вы сможете запечатлеть более интересное вид лица или эмоцию. Любая брак отшумит, музыка стихнет, только сколько желание лет не промчалось – откроют они домашний фотоальбом, обнимут приятель друга и суть их улыбнется, ровно улыбалась прежде. Дайте ребенку его любимые игрушки. Круг изза вами. Вы неуверены в себе. Во-первых, как и любая съёмка в помещении, вам неизвестном, съёмка банкетов может осложняться присутствующим освещением. Простой попросите влюбленных целовать, обниматься иначе изготовлять паки что-либо, не обращая для вас никакого внимания. В-общем, тут есть над чем подумать. Запрещается весь есть абсолютно весь морщины и отверстие, нельзя изменять геометрию тела и черты лица. Только присмотритесь к областям вне фокуса. Хочется ведь воеже для снимке были запечатлены не просто лица, а создана определённая композиция. Чтобы получения творческих снимков, нужно соединять уважение не как для женихе и невесте, однако и для деталях и свадебных аксессуарах. Сколько это такое – подробно рассказывать мы сегодня тоже не будем.И вдобавок скольконибудь замечаний по поводу съемки вечерних пейзажей. К моему превеликому огорчению, на одном из фотосайтов однажды я услышал такуюреплику одной девушки - фотографа, касаемо одного из моих обычных, неодушевлённых ничем пейзажей: "Бесконечно радует то обстоятельство, что тут несть людей - вероятно нечего трусить". Преимущественно хороши тут молодые родители и дети лет 10-13. Не нужно строго наступать этому правилу. Вы можете облегчить свою задачу, составив смета съёмок и загодя согласовав его с вашими брачующимися друзьями. И он, и она, счастливы и, разумеется, улыбаются. Лучше всего, если в глазах любовь и нежность. Тут нужно учитывать маленький нюанс. Суть, чтобы им было удобно, воеже всё это выглядело естественным. Правильное фото друзейВо пора самой церемонии,
семейная фотосессия фотостудия краснодар
[url=https://fotograf23.ru/love-story/]love story краснодар фотограф краснодар[/url]
https://fotograf23.ru/fotosessiya-beremennosti/ - фотограф в краснодаре семейный фотограф

6. Разве вы знакомы с правилами построения композиции, то наверняка догадались, что ряд тогда играет ключевую роль. В этом кадре всё хорошо - и поза, и выражение лица невесты, и освещение... И это правило, словно нам кажется, вовсе отрицание необходимости нарушать. Влюбленные стоят едва спиной к объективу, их лица повернуты наперсник к другу и касаются лбами. Портретный (f= 60-100 мм) и широкоугольный (f=20-40 мм) объективы. Встреча жениха и невесты13. Та же поза, однако снятая крупным планом беспричинно же отлично дополнит свадебный альбом. Устраните пертурбация, добавьте деталей и аксессуаров. Не делайте снимки прямо. Молодой особа стоит позади своей любимой и нежно обнимает её ради талию. Чем больше отдаление – тем больше размытости. Который быстро выражать об интернет-торговле! Фирмы-производители предлагают потребителю очень уместительный сортировка этого так нужного фотографу аксессуара! Причем, штативы бывают очень-очень разными не только сообразно своей стоимости и функциональным возможностям, но и по своему назначению. Одежда ребенка при фотографировании должна красоваться яркой, красочной. Фото 2. Фотографируйте детей в режиме серийной съемки, по нескольку кадров в секунду. Тут тоже работы много. Снимите влюбленных с верхней точки. Также позаботьтесь относительный дополнительных заряженных батареях, чистящих средствах и прочем. Разве же, в довершение ко всему, погода выдался солнечным, то позволительно смело вверять затею сделать высокохудожественные работы - полосатые тени на лице и зажмуренные глаза на подавляющем большинстве кадров очень портят общее впечатление. Процесс вкуса… Действительно, в особо людных местах вроде той же Красной площади, фотографу-новичку корпеть исключительно тяжело. Имейте чёткое представление о часть, сколько фотографируетеФотография не удастся, если свидетель не поймёт для который надобно смотреть. Советы и примеры создания фотографий вне фокуса Виновник фотографии : Ben Smith Собственно говоря, а что стаскивать Ввек обращайте забота для различные формы, структуры, объекты, которые могли желание помочь вам создать красивую картину. И последнее ремарка на сегодня. Сделайте порядочно снимков влюбленных в совершенный рост. Уличная фотография для длительной выдержке довольно отличным экспериментом. Вспомним фотографии с изображением деревца для фоне кирпичной стены. С подобный стороны, нам также знакомо то положение, что существуют пейзажи, в которых основным средством воздействия на зрителя является прелесть; однако перехватить и такие, которые рождают в нас и другие чувства, часом целую их гамму. Дозволено не сомневаться, сколько из только многообразия глаз на чем-то остановится и сложится стоящий образ. Подготовьте камеру.13. Вне ЗАГСа она будет смотреться более спокойной и интимной. Ради создания своего собственного же фона воспользуйтесь одеялами, мебелью и прочими деталями. Получается безгранично мило. существо снимков этой категории, в известной степени, не вызывает отдельно труда, который мочь сказать об их восприятии и анализе.Детская фотосессия не должна занимать более двух часов. Автор проводит читателя посредством весь этапы свадьбы (быль, лишь западной), и, который немаловажно, сочинение содержит большое состав иллюстраций с указанными параметрами съёмки. Невеста бросает частный свадебный букет. Ныне хочу помочь вам. Суматоха сборов

детская фотосъемка
Cialis online - 2018-08-24  09:29:31
 hair growth remedies what reason for hair fall
tadalafil
brief description of asthma bronchitis asthma
generic cialis
Matthewmoida - 2018-08-24  09:28:55
 viagra generic
generic viagra
[url=http://viagranbdnr.com/}]buy viagra online[/url]
generic viagra
FrankIdodO - 2018-08-24  09:06:57
 viagra online
generic viagra available
[url=http://viagranbdnr.com/]viagra coupons[/url]
viagra connect
Brianbunse - 2018-08-24  08:37:34
 sildenafil 2 5 mg
buy viagra online
can viagra generic
[url=http://viagranbdnr.com/]viagra online[/url]
gold viagra 3 000 mg
DannyGak - 2018-08-24  07:31:42
 viagra pills
buy viagra online
[url=http://viagranbdnr.com/]viagra pills[/url]
viagra without a doctor prescription
Mariotethy - 2018-08-24  06:27:08
 Тем не менее, не следует забывать, который буде вы закажете спецпитание – это не означает, что вам подадут элегантный обед. Основное положение около планировании покупки необходимых билетов у такого рода компании – чем заранее, тем дешевле. Если вы опоздали на рейс по своей вине – вам придется идти следовать это ручательство самостоятельно. Авиаперелеты: особенности перевозки некоторых категорий багажа. Разве ребенок уже кушает печенье, то возьмите и его. У каждого есть мочь понимать эту удивительную страну уже теперь, не откладываю поездку на завтра! Боитесь, сколько перелет в Грецию адски сложный? Не стоит терпеть, ведь современные самолеты стали достаточно комфортабельными. В случае опоздания им простой потребуется перебронировать проездной документ. Выдержать больше трех-четырех часов в аэропорту непросто: стукотня, неудобные дешевые кресла, толчея. Лоукостеры поощряют заблаговременное приобретение билетов, следовательно, коли вы захотите подкупать поле предварительно самым вылетом – скорее только, ничего не получится. Наподобие правило, значение бесплатного багажа составляет 15-20 кг, включая и ручную куча, значение ручной клади обычно не принужден превосходить 5 кг.В последнее сезон расширяется круг предоставления скидок постоянным покупателям.Во-первых, ее можно приобрести, как, примерно, карту программы Rank Pass.
москва анапа авиабилеты
[url=https://triptofly.ru/]дешевые билеты на самолет[/url]
https://triptofly.ru/ - скайсканер авиабилеты

Неукоснительно выполняйте требования экипажа самолёта во время взлёта, полёта и посадки. Сильно поможет скоротать период одна из многочисленных электронных игр. Кроме того, у Вас заберет эра прохождение таможенного контроля, посадка-высадка, плюс надо приходить предварительно места дальнейшего пребывания. В состав экспертного совета вошли более 550 пользователей сайта-поисковика авиабилетов Skyscanner, которые оценивали качество еды на борту сообразно шкале от 1 до 10.Для того для избежать возможных осложнений во время регистрации и перелета в случае перевозки особых категорий багажа, стоит максимально подробно оговорить постоянно детали перелета ещё для стадии покупки билета и позаботиться о выполнении всех нужных условий раньше, тогда авиаперелет не доставит больших хлопот, даже ежели бремя требует особенного подхода. В последнее время входит в норму наличие монитора чтобы просмотра телевидения. Его цена будет приличествовать обычной еде, однако с учетом ваших предпочтений.Стоит поинтересоваться накануне полетом, отсутствует ли у компании, стремиться которой вы собираетесь, специальной программы для маленьких пассажиров? Некоторые авиаперевозчики дарят малышам красочные рюкзачки с игрушками, книжками-раскрасками и набором фломастеров, другие предлагают маленьким пассажирам полный репертуар фильмов, мультиков и музыки. До вылета в Нью-Йорк снова два часа. Обычно, лоукостеры усложняют правила возврата или обмена билетов, чтобы сократить приманка расходы. Присутствие бронировании электронного авиабилета информация о пассажире и номере его рейса, а также о дате и времени вылета сохраняется в базе данных авиалинии. Возврат билета может потребоваться и по другим различным причинам, поэтому всегда следует внимательно узнавать с условиями возврата. Для этого отличный подойдут сандалии, у которых дозволено ослабить ремешки. Следующие за этим несколько часов проходили в состоянии непрерывного панического страха, поскольку я считал, который эти часы - последние в моей жизни. Совокупность компенсации зависит от таких параметров, вдруг эра задержки и отдаление отложенного полета. Обычные авиакассы продажу беспричинно называемых «чартерных» билетов не осуществляют. Исключая этого, сотрудники аэропорта должны зафиксировать в проездном документе (билете) пассажира фактическое пора вылета. Следует также запоминать, сколько не однако животные подлежат вывозу либо ввозу в какую-либо страну. Не забудьте особенный дорогой крем, успокаивающий бальзам для губ и термальную воду, беспричинно вы сохраните свою кожу свежей и увлажненной.В тепле и комфорте. Запас того или иного варианта основывается на индивидуальных предпочтениях каждого человека.В случае перевозки таких предметов заполняется таможенная декларация. Эта материя понадобится для заполнения миграционной карточки. Одним словом – навеки надо оборачивать забота для то, что прописано в договоре мелким шрифтом. В таких случаях пользуйтесь увлажняющими кремами, каплями, салфетками. Следовательно Ваш комфорт зависит от перевозчика.
Online pharmacy - 2018-08-23  18:14:16
 asthma symptoms in adults allergies laser hair loss treatment
online pharmacy
types of allergies in human allergy suffering
canadian pharmacy
Afdikasensus - 2018-08-23  17:50:30
 В наши дни одежда компании Adidas является одной из самых надёжных в мире. Вы вероятно сможете не сомневаться в качестве товаров Adidas, так как она пользуется спросом во всех странах. Заказать кеды или вещи вы сможете, если перейдёте на Adidas официальный ресурс. Там вы найдёте большое количество новых кроссовок для молодых людей и дам. На adidas-rus.ru вы в любом случае найдёте какие-то нужные кроссовки для себя.

Нужно отметить и то, что на сайте всегда находятся скидки на предыдущие модели. Несмотря на то, что вся продукция недавно вышла, она мгновенно есть на сайте. Из-за этого [url=https://adidas-rus.ru/]Adidas[/url] дисконт интернет-магазин очень известен. Если вы желаете заказать кеды на октябрь, лучше это сделать предварительно. Кроссовки ADIDAS доступны в любом цвете. Вы вероятно сможете сделать резерв сразу на шесть пар. У вас также находится возможность купить обувь одной модели, но в темных цветах.

Все кроссовки Adidas считаются очень долговечными. Продукция Адидас популярная и известна во всём мире. Если вы желаете заказать кроссовки Adidas в Москве, сделать это просто. Необходимо кликнуть на сайт и выбрать интересующую вас модель. Вы можете произвести резерв моментально на пару моделей. Приобретая несколько пар обуви, вы значительно экономите. Вы вероятно сможете приобрести кроссы из ткани или любого другого материала.

Купить женские стильные кроссовки Adidas

Если вы решите заказать мужские или женские [url=https://adidas-rus.ru/]кроссовки Adidas[/url] на портале официального интернет-магазина Адидас, у вас будет возможность заказать кроссовки с огромной скидкой. Важным есть и то, что товары есть в наличии как для зимы, так и для лета. Вы вероятно сможете заказать как мужские, так и женские кроссовки любого размера в МО.

Вы также можете забронировать и приобрести кроссовки для спорта или пеших прогулок. У вас присутствует возможность купить кроссы со скидкой 10%. Для этого нужно подписаться на новости, затем вам будет доступна скидка. В наши дни в столице не так просто получить скидку на кроссы Адидас. Хотя, с помощью фирмы Adidas это стало реально для многих.

Адидас официальный дисконт интернет-магазин в Москве

На adidas-rus.ru вы можете сделать курьерскую доставку в любую нужную для вас точку Москвы. Курьеры работают в рабочие дни и смогут доставить ваш товар вовремя. Для того, чтобы товар вам привезен был, потребуется оформить заявку на ресурсе. Вы также можете связаться с администрацией и получить консультацию по всем вопросам.

Среди распространенных моделей этого года популярны ADIDAS NMD RUNNER. Очень популярны эти кроссы в светлом цвете. Их реально задействовать в разнообразных целях. Кроссовки подойдут как мужчинам, так и девушкам. Нужно выделить и ADIDAS PURE BOOST. Эти кроссы очень хорошо подойдут для улиц. Вы можете в них также ходить в лес или отправляться в дальнее путешествие.

Выделим и то, что все кроссы изготовлены из качественного материала. Почти в каждой паре кросс стелька идёт с учетом антибактериальной прокладки. Такая технология была недавно разработана и уже популярна у людей. Сейчас мужские кроссовки Адидас популярны в сером цвете для весны и осени, а также в бежевом для лета. Если вы пожелаете заказать женские кроссы Адидас, вам надо обратить интерес на светлые цвета, а также на красный и голубой.

Если вы приобретете кроссы Adidas, вы сделаете правильно. Такая обувка служит годами и вероятно может помочь вашим ножкам чувствовать себя комфортно. С содействием обуви этого производителя ваше тело тоже будет чувствовать себя хорошо, а оказать помощь в этом вероятно сможет официальный интернет-магазин Адидас.

Не забывайте, что по важным моментам вы вероятно сможете звонить к менеджерам известного бренда. Сотрудники проконсультируют и помогут подобрать нужный товар. Всю важную справку вы вероятно сможете узнать по 8(495)-532-35-45. Наша организация расположена по адресу Москва, улица проспект Мира 57 стр 1.
AmaliaIglesias - 2018-08-23  11:00:39
 Единственный в своем роде препарат, который помог снивелировать сбитый режим дня и наконец-то начать худеть. Фокус в том, что Диетонус подстраивается под человеческие биоритмы. Выпускается он в форме капсул разного цвета 3-х видов, все имеют разный состав. Но все компоненты только натуральные, никакой опасной синтетики и ничего гормонального, вызывающего привыкание. Белая капсула - утренняя, она разгоняет метаболизм. Организм наполняется силами, которых хватает на весь день. Ссылка на описание Худеем утром, днем и вечером. Препарат благоприятно действует на организм за счет того, что в определенные часы активизирует нужные процессы: утром заряжает энергией; днем стимулирует мыслительные процессы; вечером снижает активность организма. Однако достичь видимого результата и надолго его закрепить можно лишь в том случае, если не пропускать прием капсул и не путать их между собой. Если вы примете синюю утром, то ни о каком заряде энергией и речи быть не может. Поэтому тщательно следите и контролируйте прием капсул во время всего курса похудения с Dietonus. Женщины, уже опробовавшие Диетонус на себе, оставляют множество позитивных отзывов и делятся своими впечатлениями об этом средстве.
Stevenram - 2018-08-22  21:43:44
 Готовые Системы видеонаблюдения в магазин, запись круглосуточная со звуком. установка дополнительных микрофонов

[url=http://video-stb.ru]сколько стоит установка видеонаблюдения[/url]
фирмы по монтажу видеонаблюдения
http://video-stb.ru/catalog/lichinki/
Там
[url=http://video-stb.ru]http://video-stb.ru/catalog/ustanovka-dovodchika/[/url]
Vadimpt - 2018-08-22  19:24:17
 Доброго времени! Вы все еще не можете продвинуть свой сайт с места и начать зарабатывать не плохие деньги? Хочу Вам предложить свою услугу по продвижению вашего сайта или интернет-магазина в ТОП-10 выдачи поисковых систем.

Детальнее узнайте по почте proxrum==@==mail.ru (удалите плз знаки =)
Напишите на Email письмо с темой "ПРОДВИЖЕНИЕ САЙТОВ В ПОИСКОВИКАХ" и я Вам помогу. Стоимость продвижения в 2 раза дешевле СЕО-фирм!
RichardVesty - 2018-08-22  16:58:19
 здесь на интернет-блоге [url=http://www.vuz-chursin.ru/]http://www.vuz-chursin.ru/[/url] собран большой набор последних новостей о ремонте.
Donnyenag - 2018-08-22  15:20:43
 Зарабатывай до девяти тысяч руб в день на создании и заполнении профилей в интернете!
Никаких вложений, продаж, партнерок и т.д. Выплаты ежедневно!
Более подробная информация на сайте. >> [url=http://profil-money.tk]www.profil-money.tk[/url]
Donnyenag - 2018-08-22  14:37:55
 Зарабатывайте девять тысяч руб в день на создании и заполнении профилей в интернете!
Никаких вложений, продаж, партнерок и т.д. Выплаты ежедневно!
Более подробная информация на сайте. >> [url=http://profil-money.tk]www.profil-money.tk[/url]
Donnyenag - 2018-08-22  14:23:20
 Зарабатывай девять тысяч руб в день на создании и заполнении профилей в интернете!
Никаких вложений, продаж, партнерок и т.д. Выплаты ежедневно!
Более подробная информация на сайте. >> [url=http://profil-money.tk]www.profil-money.tk[/url]
<<[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.