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ářů(9084)
Josephempof - 2017-04-16  12:25:06
 Стеклянные банки оптом в Твери
[url=http://tverbaza.ru]Бытовая химия и хозяйственные товары оптом в Твери[/url] !


[url=http://ng.ru/users/74443/articles/paper/]на нашем сайте[/url]
[url=http://club.foto.ru/user/603202]на нашем сайте[/url]
EugeneGon - 2017-04-16  12:16:10
 Привет всем участникам! Класный у вас сайт!
Нашел фото и приколы за день на этом сайте: http://okaybro.ru/ :
http://okaybro.ru/foto-prikoly-interesnoe/4698-10-faktov-o-bozhole-kotorye-sdelayut-vas-vinnym-znatokom-s-bezuprechnym-vkusom.html
[url=http://okaybro.ru/foto-prikoly-interesnoe/457-shedevry-nyu-yorkskogo-moma.html] Шедевры нью-йоркского MoMA [/url]
[b] Победители международного конкурса профессиональных свадебных фотографий 2014 [/b] http://okaybro.ru/foto-prikoly-interesnoe/2701-pobediteli-mezhdunarodnogo-konkursa-professionalnyh-svadebnyh-fotografiy-2014.html
[url=http://okaybro.ru/foto-prikoly-interesnoe/5248-belyy-tuman-v-gorode-maync-v-germanii.html] Белый «туман» в городе Майнц в Германии [/url]
[b] Кот и мороженое [/b] http://okaybro.ru/foto-prikoly-interesnoe/370-kot-i-morozhenoe.html
[b] Хочу в Австралию [/b] http://okaybro.ru/foto-prikoly-interesnoe/630-hochu-v-avstraliyu.html
Jamesgop - 2017-04-16  11:57:33
 Good afte
oon, good day!

Low to $0.99,Up to 71% OFF Cyber Monday for ES,EXP:Dec.5 Ggle is paying 97$ per hour! Work for few hours and have longer with friends family! !Mj317d: on tuesday i got a great new land rover range rover from having ea
ed $8752 this last four wks.
Infocus is a us based company that recently made its debut in the indian market with its low-budget offering, the m2. blue book 2013 toyota tacoma xsp
[url=http://kilamo.info/huawei-p8-lite-vs-iphone-5s/]huawei p8 lite vs iphone 5s[/url] bluboo x gon english
Is this the biggest tech disappointment of 2016, despite frdom 251 making national and global headlines throughout the year?.
I can plug them into the htc chargers, the motorola charger, the nexus charger, or the usb connector on a power inverter in my car.

Tags:
aeku m5 fuel up to play
bluboo x9 4g kindle
[url=http://kilamo.info/bluboo-x9-4g-band/]bluboo x9 4g band[/url]
telephone s7 deca core zap
leeco le 070 461
doogee x9 pro rental
[url=http://kilamo.info/bluboo-x-men-70s-covers/]bluboo x men 70s covers[/url]
cubot echo dual sim with cloning
xperia z2 metal case
is oukitel k6000 compatible with verizon
[url=http://kilamo.info/lenovo-vibe-x2-smartphone/]lenovo vibe x2 smartphone[/url]
oukitel u20 plus followers
umi chan poker face
aeku m5 nano 8th
doogee leo 280 ucas
[url=http://kilamo.info/aiek-aiek-m5-is/]aiek aiek m5 is[/url]
aeku m5 fuel 546
blue book atv values
samsung galaxy s6 u
[url=http://kilamo.info/huawei-honor-bee-price/]huawei honor bee price[/url]
cubot manito quad core rk3188
umi diamond x quad core circuit
oukitel u20 plus vision
[url=http://kilamo.info/bluboo-picasso-4g-4fbsporx/]bluboo picasso 4g 4fbsporx[/url]
alcatel one touch pixi user manual headphone
chinese smartphone a8 3g android 4 2
Digit is also one of the most trusted names when it comes to technology reviews and buying advice and is home to the digit test lab, india's most proficient center for testing and reviewing technology products.
Some consumers love iphone, some samsung, some lg, and some nokia.
Lstrguiffic - 2017-04-16  06:55:28
 Add to bookmarks.

[url=http://avangard.slavmif.info/forum/viewtopic.php?f=20&t=196364] For an article Thank you very much, all of the case, a lot of who it is already applying
[/url]

http://forum.cyberwarz.net/viewtopic.php?f=11&t=66064&p=214649#p214649
HaroldUndon - 2017-04-16  05:38:18
 cheap generic Stendra in Australia no script required ; i want to order Stendra in UK ove
ight without dr approval

[url=http://worldmailes.com/pharm/go.php?sid=1&search=Stendra] [u][b]>>> Want to buy Stendra with Discount? CLICK HERE! https://tr.im/discounteddrugs




- Best Prices Women Pack-20 no prescription ove
ight
- Where Can I Buy in USA Prograf next day no prescription needed
- Buy Safety Combimist L Inhaler shipped by cash on delivery
- Quiqly Delivery Canada Vantin c.o.d. saturday delivery
- Ordering in Australia Cialis Black ove
ight no prescription
- Discount Price in USA Imodium from u.s. pharmacy no prescription
- Ordering in Australia Online Viagra Flavored fast shipping no prescription
- Order Cheap Generic Combimist L Inhaler without a rx ove
ight
- Buy in USA Cheapest Speman no prescription next day delivery
- Purchase in Australia Cheapest Chloromycetin from u.s. pharmacy no prescription
- Best Prices in GB / UK for Beloc fast shipping no prescription
- How Much in Australia Isoptin Sr no prescription ove
ight
- Purchase At Low Cost Lamisil no prescription required
- Order in USA Cheap Online Cialis Daily in without prescription
- Lowest Price Of Generic Viagra Strong Pack-20 cash on delivery
- Purchase Cheapest Advair Diskus without script
- Buy Discount Suminat shipped by cash on delivery
- How To Buy in USA Jelly Pack-30 overseas with no prescriptions
- Discount Prices in Canada for Megalis no prescription ove
ight
- Buy Cheap Online Retrovir in inte
et drugs ove
ight
- Low Prices in USA Menosan in no prescription
- Discount Himcolin tablet without script
- Cheapest Prices in USA for Dostinex ove
ight no prescription required
- Buying Generic Tetracycline with no prescription
- Buying in Australia Danazol no script next day delivery
- Quiqly Delivery GB / UK Sinemet no prescription c.o.d.
- Order in USA Cheapest Hoodia next day delivery no rx
- How Much Super Kamagra same day delivery no prescription
- Purchase in GB / UK Voveran SR next day no prescription
- Buy in GB / UK Cheapest Voltarol overseas with no prescriptions
- Buy in Canada Cheapest Luvox without rx
- Purchase in USA Rumalaya ove
ight without a prescription
- How To Purchase in GB / UK Confido no prescriptions needed
- Best Place in USA To Buy Desyrel from a pharmacy without a prescription
- Where To Order in GB / UK Sildalist no prior script ove
ight
- How Much in Canada Cardarone in without prescription
- Discount Prices Methotrexate fast shipping no prescription
- Cost in Australia Of Albenza with no prescriptions
- Canadian Licensed Pharmacy Amaryl pay cod no prescription
- Cost in Australia Of Levitra Professional ove
ight without a prescription
- Cheapest Pills Levitra with Dapoxetine with credit card no prescription
- Cost in USA Of VigRX ove
ight without a prescription
- Ordering Diabecon non prescription
- Online in Canada Voveran SR in no prescription
- Purchase in Australia At Lowest Price Diltiazem - how to use,side effects,information
- Buy in USA Cheap Online Red Viagra with no prescription
- Online in Australia Celexa c.o.d. no rx
- How Can I Buy Urso no prescription needed
- Canada Online Pharmacy Danocrine no prescription quick delivery
- Online in GB / UK Prinivil no prescription fedex / ups
- Buy in USA Bupron SR c.o.d. without rx
JesusLus - 2017-04-16  04:49:27
 Всё самое новое [url=http://www.xlifes.ru/]xlifes[/url] О фильме: В недалеком будущем уставший от жизни Логан заботится о больном профессоре Икс, который прячется неподалеку от мексиканской границы. Но Логан больше не сможет скрывать свое прошлое, когда встретится с юным мутантом, которого преследуют темные силы.
Josephref - 2017-04-16  03:27:13
 Женский журнал здесь [url=http://laform.ru/]laform.ru/[/url]
HaroldUndon - 2017-04-16  03:09:58
 lowest prices Monoket in USA no script next day delivery ; where can i buy Monoket in USA NO SCRIPT required express delivery

[url=http://worldmailes.com/pharm/go.php?sid=1&search=Monoket] [u][b]>>> Want to buy Monoket with Discount? CLICK HERE! https://tr.im/discounteddrugs




- Purchase in USA Requip in inte
et,next day delivery
- Buy in Canada Anaprox in inte
et,next day delivery
- Quiqly Delivery in USA V-Excel pharmacy without prescription
- How Much in Australia Aceon no prescription quick delivery
- Ordering in USA Online Zebeta no rx required
- Cost in GB / UK Of Levitra Oral Jelly tablet without script
- Buying in USA Pilex ove
ight no prescription required
- How To Buy in USA Crestor no prior script ove
ight
- Where Can I Order in GB / UK Toprol Xl next day delivery
- Buy in USA Discount Advair Diskus tablet without script
- Buy Online in USA Forzest ove
ight delivery no r x
- Buy At Low Price Micardis from u.s. pharmacy no prescription
- I Want to buy in USA Tegretol no prescription next day delivery
- USA Licensed Pharmacy Differin non prescription
- Where To Buy in USA Nimotop c.o.d. no rx
- Order in USA Online Cheap Bimatoprost 0.03% non prescription needed
- Purchase in USA Online Lexapro with no prescription
- Purchase in GB / UK At Low Price Celexa no prescription
- Purchase in Canada cheapest Vigora shipped with no prescription
- Buy in UK cheapest Ibuprofen no script required
- Best Place To Buy Kamagra Gold shipped by cash on delivery
- Generic Drugs Aciclovir no script required express delivery
- Discount Price Monoket delivery no prescription
- I Want to order in GB / UK Voveran no prior prescription
- Buy in USA Cheap Online Ventolin from a pharmacy without a prescription
- Canadian Licensed Pharmacy Finpecia shipped with no prescription
- Cheapest Price Ortho Tri-Cyclen shipped with no prescription
- Buying in Australia Brand Viagra next day delivery
- Buy in Canada Periactin without rx
- Online Pharmacy Detrol ove
ight without prescription
- Where Can I Purchase Lipitor no prior prescription
- Purchase in Canada Cialis c.o.d. no prescription
- Order in USA Online Cheap Ampicillin no prescription ove
ight
- Ordering Online Erythromycin without rx
- Order in GB / UK At Low Price Zetia c.o.d. saturday delivery
- Order in Canada At Low Price Female Viagra ove
ight no prescription required
- Buy in GB / UK Cheapest Azulfidine fast shipping no prescription
- USA Fast Shipping Azulfidine pay cod no prescription
- Discount Prices in GB / UK for Seroquel no script needed
- Buy in GB / UK Cheapest Viagra Soft cheap c.o.d. no rx
- Order Terramycin ove
ight without dr approval
- Cost in GB / UK Of Evecare non prescription
- How To Order in Australia Microzide no prescription ove
ight
- Order in GB / UK Online Cheap Strattera c.o.d. without rx
- Buy in USA Vitria without rx
- Fast Shipping Zenegra - how to use,side effects,information
- Discount Singulair without rx
- Cheapest Price To Order Brand Levitra overseas with no prescriptions
- Buy in GB / UK Discount Glucotrol Xl no prescription next day delivery
- How Much Abana c.o.d. saturday delivery
- Discount Retrovir with no rx
HaroldUndon - 2017-04-16  01:54:13
 cheapest Cialis Pack-90 in Canada c.o.d. saturday delivery ; where can i buy Cialis Pack-90 in USA NO PRESCRIPTION quick delivery

[url=http://worldmailes.com/pharm/go.php?sid=1&search=Cialis Pack-90] [u][b]>>> Want to buy Cialis Pack-90 with Discount? CLICK HERE! https://tr.im/genericmeds




- Ordering in Australia Paxil without a prescription shipped ove
ight
- Purchase At Lowest Price Tricor in inte
et drugs ove
ight
- Discount Prices in USA for Lopressor no prescription required
- Best Place in Australia To Buy Lasix pharmacy without a prescription
- Canadian Licensed Pharmacy Xeloda ove
ight without a prescription
- Buy in Canada Discount Singulair no prescriptions needed
- Buying in USA Generic Vasotec without doctor prescription
- Discount Prices in GB / UK for Daklinza non prescription
- I Want to order in Australia Garcinia Cambogia in without prescription
- How To Purchase in Australia Pilex with no prescriptions
- Wholesale Cheapest Cialis Black no prescription ove
ight
- Generic Drugs V-gel no prescription fedex / ups
- Buying in USA Urso ove
ight delivery without a rx
- How Much in Australia Glycomet ove
ight no prescription required
- Buy in Australia cheapest VPXL ove
ight delivery without a rx
- Purchase in Canada At Low Price Super Pack pharmacy without a prescription
- Order in USA Cheap Generic Tricor without prescription ove
ight
- Discount Prices in Canada for Dramamine non prescription
- Best Prices in GB / UK for Zenegra no prescription ove
ight
- Buy in Canada cheapest Lamprene without script
- Order Cheap Zantac pay cod no prescription
- Order in Australia Cheap Online Lamictal saturday delivery
- Buying in GB / UK Generic Septilin c.o.d. no rx
- Order in USA Imuran no script needed
- Cheapest Prices in USA for Lamictal ove
ight no prescription
- Where Can I Purchase in USA Doxycycline delivered ove
ight no rx
- How To Order in GB / UK Fulvicin ove
ight without a prescription
- Order in GB / UK Cheap Generic Benemid without a rx ove
ight
- Cheap Calan in inte
et drugs ove
ight
- Purchase Cheapest Daklinza in inte
et drugs ove
ight
- Buy in Australia Microzide delivered ove
ight no rx
- Quiqly Delivery GB / UK Epivir Hbv no script next day delivery
- Where Can I Order in Australia Keftab pharmacy without a prescription
- Ordering Safety Flagyl in no prescription
- Buying At Lowest Price Fincar no prescription fast delivery
- Ordering in Australia Online Endep no script required
- Buy Indinavir ove
ight delivery no r x
- Buy Erythromycin - how to use,side effects,information
- How To Order in USA Imuran without script
- Buy Cheap Nexium for sale online
- Where Can I Purchase in GB / UK Pilex without doctor prescription
- Buy Cheapest Cialis Light Pack-90 without a rx ove
ight
- Online in Australia Topamax cheap c.o.d. no rx
- Best Prices in GB / UK for Casodex no script needed
- Lowest Price Of Acyclovir cream 5% no prior script ove
ight
- Buy Cheap Online Eulexin c.o.d. no script
- Where Can I Order in GB / UK Provera prescriptions online
- Purchase in GB / UK At Low Price Zocor no prescription ove
ight
- I Want to order in Canada Trandate online consulation with no prescription
- Quiqly DeliveryUSA Serophene no script needed
- Quality Generic Elocon next day delivery
Propecia 1mg tablets online help gew727 - 2017-04-16  00:54:56
 Fraction's breadth labour finasteride 1mg cost uk passport
its tied to our duration genetics and testosterone levels continually people attention an increase. Fraction when people relinquish their fraction they are faced with the can of worms nearly as without delay as they come back with up. Some months mane diminution can also be triggered before a well-known fever or an infection some medications and. In the hair's breadth hurt strength present bald is something that various men affair to Acknowledge Propecia Safely Online accept with at some meat in attain beside propecia online. Propecia, baldness and yields tremendous results retu
in requital for a preponderance of patients that take it anecdote limitation to http://propeciaonlinehelp.cu.cc Scalp and then approximate it to another photo in bordering on six months inherited baldness affects men far.
Propecia plead to your barber or stylist another advance if you maintain a digital camera is to fasten on a paint of your. Growing and the other is resting after weeks the resting trinket order waterfall in view it does not diminish loophole at. Selfimage that it is considered run-of-the-mill to span result of a present amount of the aggregate each period doting to your. Typically associated with men women conquered their ringlets as opulently it may be a more difficult coordination propecia product is pulchritudinous affordable as extensively as ringlets disadvantage treatments kick the scuttle you can look forward to use up up or.
Roberthuh - 2017-04-16  00:20:22
 Скачать базу данных организаций города Великий Новгород бесплатно http://bazdan24.ru/tovar/baza-dannyh-organizatsij-goroda-velikij-novgorod/

470pY747
Lstrguiffic - 2017-04-16  00:10:16
 Yeah ... Then as people used to say: lea
the ABC - full-hut shout :)

[url=http://askmycondo.com/forum/viewtopic.php?f=30&t=73341] Oputet how interesting, is pushed in. Class!
[/url]

http://polyphonicsong.com/index.php/en/subsystems/forum-eng/gnwrimia/180319-cialis-dosage-liquid#180318
Qlifcs - 2017-04-15  23:34:14
 prevent heat stroke obama affordable care act
http://generic-viagra.us.com/
buying generic viagra online symptoms of venereal disease
generic viagra
heat stroke first aid steps
[url=http://www.generic-viagra.us.com/]viagra generic[/url]
courses in medical education
AveryRED - 2017-04-15  23:26:38
 [url=https://vk.com/id36255941]Виктор Игоревич Кудрявцев пассивный[/url]
HaroldUndon - 2017-04-15  23:25:27
 purchase at low cost Tiova in USA next day NO PRESCRIPTION needed ; buying Tiova in USA cash on delivery online prescriptions

[url=http://worldmailes.com/pharm/go.php?sid=1&search=Tiova] [u][b]>>> Want to buy Tiova with Discount? CLICK HERE! http://tr.im/unitedpharmacies




- Buy in USA At Low Price Copegus pay cod no prescription
- Low Prices Procardia delivered ove
ight no rx
- Quiqly Delivery Australia Colospa prescriptions online
- Buy Cheap Online Buspar without prescription
- Cost in Canada Of Artane no prescription next day delivery
- Where Can I Order in Canada Strattera no prescription fast delivery
- Where To Order in Canada Kamagra Pack-15 overseas with no prescriptions
- USA Online Pharmacy Indinavir next day no prescription needed
- Fast Delivery Pyridium ove
ight delivery no r x
- Pharmacies in USA That Sell Himcolin ove
ight without a prescription
- Purchase in Canada Cheapest Benicar next day delivery
- Order in Australia Cheap Generic Sildalist no prescription needed
- How Much in USA Ponstel delivered ove
ight no rx
- Buy At Low Cost in USA Zithromax no script needed c.o.d. ove
ight
- Where Can I Buy in USA Abana pay cod without prescription
- Order At Low Cost Xeloda no script needed
- Cheapest Pills Albenza without prescription ove
ight
- Order Online At Low Cost Desogen for sale online
- Low Prices Breast Success ove
ight no prescription required
- Purchase in USA At Low Price Danocrine c.o.d. no script
- Buy Safety Detrol without prescription
- Cheapest Prices Viagra Pack-30 without a prescription
- Ordering in GB / UK Sinequan delivered ove
ight no rx
- Where Can I Purchase in Australia Thorazine cheap c.o.d. no rx
- Best Place in Canada To Buy Clarinex tablet without script
- How To Order in Australia Endep non prescription
- I Want to buy Yagara no prescription
- Where To Order in Australia Leukeran cash on delivery ove
ight
- Quiqly Delivery in USA Super Active Pack-20 ove
ight delivery no rx
- Buying in GB / UK Diabecon no prescription required
- Where Can I Buy Speman in without prescription
- Buying in Canada Speman no prescription c.o.d.
- Where To Get Lioresal no prescription next day delivery
- Buying in GB / UK Generic Acticin without a prescription
- Buy in USA Cheap Online Bupron SR with credit card no prescription
- How Can I Buy in GB / UK Amaryl in inte
et drugs ove
ight
- Cost in Australia Of Leukeran pharmacy without prescription
- USA Online Pharmacy Viagra Strong Pack-40 with ove
ight delivery
- Order in Australia cheapest Minomycin no prior script ove
ight
- Order in Canada At Low Price Isoptin with ove
ight delivery
- Order in Canada cheapest Viagra Strong Pack-40 pharmacy without a prescription
- Buy Online in USA Antabuse with no prescription
- Order in Canada Cheap Online Indocin ove
ight no prescription
- Buy At Low Cost Tetracycline in inte
et,next day delivery
- Buy Cheap Cialis Pack-60 pharmacy without prescription
- Order in Canada At Low Price Ditropan Xl next day no prescription needed
- Buying in Australia Motrin c.o.d. saturday delivery
- Online Hytrin cash on delivery ove
ight
- Cheapest Prices in USA for Duricef in without prescription
- Buy Cheapest Diamox without a rx ove
ight
- Buy Cheap in USA Sinemet no prior prescription
Scottanops - 2017-04-15  20:43:08
 ремонт вольво, вольво ремонт,вольво сервис,сервис вольво,volvo ремонт,ремонт volvo,обслуживание вольво,автосервис Вольво,обслуживание volvo,диагностика вольво



[url=http://volvopremium.ru]ремонт вольво, вольво ремонт,вольво сервис,сервис вольво,volvo ремонт,ремонт volvo,обслуживание вольво,автосервис Вольво,обслуживание volvo,диагностика вольво[/url]
Scottanops - 2017-04-15  20:43:05
 ремонт вольво, вольво ремонт,вольво сервис,сервис вольво,volvo ремонт,ремонт volvo,обслуживание вольво,автосервис Вольво,обслуживание volvo,диагностика вольво



[url=http://volvopremium.ru]ремонт вольво, вольво ремонт,вольво сервис,сервис вольво,volvo ремонт,ремонт volvo,обслуживание вольво,автосервис Вольво,обслуживание volvo,диагностика вольво[/url]
HaroldUndon - 2017-04-15  19:42:15
 lowest price of generic Paxil Cr in UK NO PRESCRIPTION no fees ; quality generic Paxil Cr in Canada ove
ight NO PRESCRIPTION required

[url=http://worldmailes.com/pharm/go.php?sid=1&search=Paxil Cr] [u][b]>>> Want to buy Paxil Cr with Discount? CLICK HERE! http://tr.im/unitedpharmacies




- Order in GB / UK Cheap Generic Panadol pharmacy without a prescription
- Purchase Cheap Online Caverta no script next day delivery
- Ordering in Australia Imuran saturday delivery
- Where Can I Order in USA Dapsone no script needed c.o.d. ove
ight
- Order in Canada Cheap Generic Sumycin no prescription quick delivery
- Best Prices in USA for Meclizine no prior script ove
ight
- Ordering in Canada Beloc without dr prescription
- Quiqly Delivery Australia Gestanin pay cod no prescription
- Ordering in Australia Daklinza in no prescription
- How To Order in GB / UK Super Pack from a pharmacy without a prescription
- Buy Cheap Online Megalis c.o.d. no prescription
- How Much in GB / UK Propecia delivery no prescription
- Purchase Cheap Online Viagra Strong Pack-40 next day delivery
- I Want to buy in USA Xeloda no script needed c.o.d. ove
ight
- How Much in Australia Neem pharmacy no prescription
- Where To Order Furoxone no script required
- Order in USA Cheap Generic Imuran no prescription needed
- Online in GB / UK Cialis Pack-60 no prescription quick delivery
- Online in GB / UK Epivir c.o.d. no prescription
- Purchase in GB / UK Cefaclor delivery no prescription
- Cost in Australia Of VigRX with credit card no prescription
- Ordering in Australia Levitra Pack-60 in without prescription
- Cost in Canada Of Motrin no prescription ove
ight
- Discount Prices in GB / UK for Beloc no prescriptions needed
- Licensed Pharmacy Differin delivery no prescription
- Purchase in GB / UK Serevent with no prescriptions
- Order in Canada At Low Price Alesse ove
ight without dr approval
- Purchase in USA At Low Price Ceclor CD cash on delivery
- Where To Order in Australia Super Active Pack-20 cash on delivery
- Fast Delivery in USA Isoptin saturday delivery
- Where To Buy in USA Xeloda cash on delivery online prescriptions
- Fast Delivery Diabecon ove
ight no prescription
- Discount Prices in Australia for Viagra Pack-60 from a pharmacy without a prescription
- How Can I Buy in Canada Combivent no prescription needed
- Purchase in GB / UK Cheapest Depakote cheap c.o.d. no rx
- How Much in Canada Cialis Black no prescription quick delivery
- I Want to order in USA Calan Sr with no prescription
- Purchase in GB / UK At Low Price Zovirax next day no prescription needed
- Purchase At Low Cost in Australia Uniphyl Cr c.o.d ove
ight no rx
- Where Can I Purchase in USA Mildonium no prescription needed
- Buying At Lowest Price Maxolon saturday delivery
- Buy Online Cheapest Orlistat ove
ight without prescription
- Online in Canada Macrobid with no prescription
- Where Can I Purchase in Australia Zenegra in no prescription
- Purchase in Australia Arcoxia pay cod without prescription
- How To Order Sovaldi no prescription
- Purchase in Canada Cheapest Erythromycin pay cod no prescription
- Online Pharmacy ED Super Advanced Pack fast shipping no prescription
- Buy in Australia Discount Vibramycin without prescription ove
ight
- Wholesale in USA Cheapest Cordarone without script pharmacy
- How To Order in USA Super Pack no prescription next day delivery
Lstrguiffic - 2017-04-15  17:30:49
 Interestingly it has done. Almost for the soul takes, it makes you laugh over the rest of the blogosphere. But not quite fully surveyed topic. Where to read about it in detail? Sincerely, spamobot

[url=http://colegiochino.16mb.com/sm/index.php?topic=242155.new#new] Fascinatingly. I would like to hear the views of experts on this subject :)
[/url]

http://stgaming.net/index.php?topic=436429.new#new
AvolnovaGam - 2017-04-15  14:16:50
 [url=https://goo.gl/1MbQTh#bsWxYuGawH]
[img]https://pxl.leads.su/impression/fd362e0d454720e1845ef6088f1ba33a[/img]
[/url]

кредит онлайн карты заявка
онлайн заявка на кредит в онлайн заявка пенсионерам
онлайн кредит иваново
где оформить кредит с плохой кредитной историей и просрочками
кредит онлайн на банковскую карту в украине за 15 минут без процентов
<<[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] >>
*v komentářich nesmíte používat sprostá slova a odkazy!!!Děkuji za pochopeni.