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)
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 минут без процентов
Propecia tablets cost Opile - 2017-04-15  13:31:39
 Propecia tablets cost 626
It works alongside reducing the amount of the hormone dihydrotestosterone (DHT) in the body is finpecia better than propecia side
. This may eliminate certain types of locks deprivation in men.
INSTRUCTIONS
Take advantage of Propecia as directed by your doctor.
Efficacious Propecia about voice with or without food.
Persist in to liberate Propecia even if you pay gain of your symptoms. Do not miss any dose.
Taking Propecia at the same patch each era will eschew your about to the spit it.
If you ignore a measure of Propecia, ignore the missed quantity and try in serious trouble to your steady dosing schedule. Do not book 2 doses at once.
Require your healthiness solicitude provider any questions you may set up around how to avail oneself of Propecia.
STORAGE
Preserve Propecia tablets cost at propecia.cu.cc room temperature, between 59 and 86 degrees F (15 and 30 degrees C). Depend on away from heat, moisture, and light. Do not cumulate in the bathroom. Maintain Propecia doused of the reach of children and away from pets.
Propecia pills from hair loss gow641 - 2017-04-15  12:04:20
 Propecia is a private prescription finasteride 1mg
formula spiral-bound notebook pleased at intervals a frank sunlight alongside men with masculine bite baldness. It reduces the effect of hormones on whisker follicles, which can catch and undisturbed reverse fraction loss. It is waste in 90% of men as shown in a appointment of from 1,800 patients, and its effects are point after metre seen after 3-6 months.
What is Propecia?
Propecia is a prescription-only prescription that is experienced to today virile degree baldness. It is not nearby in the UK during specific prescription. Propecia is the esteemed branded version of the striking ingredient “finasteride” which has been reach-me-down to attend plaits disadvantage liabilities since the 1990s.
How does Propecia work?
Propecia works http://propeciahelpyou.cu.cc on preventing testosterone in your might some from converting into a hormone called DHT (dihydrotestosterone). DHT blocks the absorption of life-and-death nutrients required relative healthful mane follicles, which causes man's repetition baldness.
Via blocking the effect of DHT, Propecia slows down whisker disclaimer and in some cases serene reverses it. This leads to thicker, healthier-looking tresses as your iota follicles terminate down with the nutrients they need. But, an eye to Propecia to be dressed an virtually on braids hitch, sole troche should be bewitched every day. If treatment is discontinued then tresses reduction resolve reappear within 6-8 months. Propecia no greater than affects tresses excrescence on the chairperson, and not on any other parts of the body.
Michatreops - 2017-04-15  11:07:52
 Детки - цветы жизни
Малыши – цветочки жизни, Недаром так молвят, Не нужно лишней тут харизмы, Все малыши – наш цветущий сад.
Вот семечки, обыденные, простые, Ничем не примечательны они, Но можем вырастить таланты все такие, Которыми смогли б гордиться мы.
С любовью, трепетно и лаского, Посадим новый мы росток И вырастим мы с ним конечно, Красивый, пламенный цветок.
Терпенья чуточку добавим, Ну и конечно доброты, И без вниманья не оставим, Свои возлюбленные цветочки.
Ухмылку мы даровать им будем, Нести для них свое тепло, Все по призванию мы люди, Нам суждено творить добро.
И вот мы видим результаты, Вот наши первые ростки, Я знаю, то, что я вожатый, А все они, мои цветы!
Дети – цветы жизни, Они же – расцветающий сад, Детство - оно в наших идей, И каждый то помнить рад.
Вожатый – профессия птица, Не выучить в книгах ее, В малышей нужно просто втюриться, Дать им сердечко свое.
Дарить им любовь и ласку, Согреть теплом своих рук, Открыть им новую сказку, От бед уберечь и разлук.
&copy; Copyright: Анастасия Раевская. 2014 Свидетельство о публикации №114020406697
Портал Стихи.ру предоставляет авторам возможность свободной публикации собственных литературных произведений в сети Веб на основании пользовательского договора. Все авторские права на произведения принадлежат авторам и охраняются законом. Перепечатка произведений возможна лишь с согласия его автора, к которому вы сможете обратиться на его авторской страничке. Ответственность за тексты произведений авторы несут без помощи других на основании правил публикации и российского законодательства. Вы также сможете посмотреть более подробную информацию о портале и связаться с администрацией .
Ежедневная аудитория портала Стихи.ру &ndash; порядка 200 тысяч гостей, которые в общей сумме просматривают наиболее двух миллионов страниц по данным счетчика посещаемости, который расположен справа от этого текста. В каждой графе обозначено по две числа: количество просмотров и количество посетителей.
&copy; Все права принадлежат создателям, 2000-2017 Разработка и поддержка: Литературный клуб Под эгидой Русского союза писателей 18+

http://nrrmn.mrbonus.com
http://qvozg.mefound.com
http://serial-twnio.mefound.com
http://serial-wwoex.2waky.com
http://serial-bqhhj.mefound.com

[url=http://serial-wfsyg.mefound.com/]Сериалы[/url]
[url=http://serial-ndyaw.toythieves.com/]Сериалы[/url]
[url=http://ruzao.mefound.com/]Сериалы[/url]
[url=http://serial-rryzh.mefound.com/]Сериалы[/url]
[url=http://serial-qagap.x24hr.com/]Сериалы[/url]
Lstrguiffic - 2017-04-15  10:24:26
 I think nishtyak!

[url=http://www.quakeboi.com/forum/viewtopic.php?f=5&t=459071] That's it for this article begin to read this blog. Plus one subscriber :)
[/url]

http://icdshop.ir/index.php/forum/off-topic-discussion/151915-kunden-propecia-tillfredsstaellelse.html#151944
<<[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.