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)
LisaFlaft - 2017-07-07  00:40:15
 hi
I am so Sorry, if i'm not on the right subject on this inte
et site.
I had just a little embarrassment. I randomly missing my essay and I urgently need to write a new one particular. I can not create myself personally, so I want to apply towards the essay writing service for dollars. Discovered just a few web content about this, but I do not know if you ever can trust these sites. Has anyone heard of the http://sunshine.am/?p=2094
???

I also wanted to ask, did someone encounter such a problem? And what will occur if they obtain out that my paper was purchased, and not written by me
KitggyImaft - 2017-07-07  00:39:13
 payday loans pa
personal loans

&lt;a href=&quot;http://payday1000loansonline.us/#bestcash&quot;&gt; online loans &lt;/a&gt;

[url=http://payday1000loansonline.us/#personal] quick loans [/url]
payday loans az
KwlvhfImaft - 2017-07-07  00:26:16
 payday loans buffalo ny
payday express

&lt;a href=&quot;http://payday1000loansonline.us/#bestcash&quot;&gt; loans direct &lt;/a&gt;

[url=http://payday1000loansonline.us/#loan] pay day loans [/url]
payday loans denver
KdduvuImaft - 2017-07-07  00:12:39
 payday loans albuquerque
cash loans

&lt;a href=&quot;http://payday1000loansonline.us/#personal&quot;&gt; payday loan &lt;/a&gt;

[url=http://payday1000loansonline.us/#online] loans online [/url]
no credit payday loans
KazyrhImaft - 2017-07-07  00:00:40
 payday loans utah
online loans

&lt;a href=&quot;http://payday1000loansonline.us/#bestcash&quot;&gt; loans with bad credit &lt;/a&gt;

[url=http://payday1000loansonline.us/#loan] loans online [/url]
payday loans okc
KzltauImaft - 2017-07-06  23:46:51
 apply for payday loans
personal loan

&lt;a href=&quot;http://payday1000loansonline.us/#loans&quot;&gt; payday loans online &lt;/a&gt;

[url=http://payday1000loansonline.us/#loans] loans direct [/url]
online payday loans direct lenders
KdymzzImaft - 2017-07-06  23:33:15
 payday loans florida
loans for people with bad credit

&lt;a href=&quot;http://payday1000loansonline.us/#loan&quot;&gt; short term loans &lt;/a&gt;

[url=http://payday1000loansonline.us/#online] quick loans [/url]
no credit check payday loans near me
KfhmpeImaft - 2017-07-06  23:19:59
 payday loans direct lender
personal loan

&lt;a href=&quot;http://payday1000loansonline.us/#bestcash&quot;&gt; loans direct &lt;/a&gt;

[url=http://payday1000loansonline.us/#bestcash] payday loans online [/url]
payday loans no credit check no employment verification
Chobrearers - 2017-07-06  23:19:57
 [url=https://wot.lend-money.ru/modyvspyshki/961-amh-30-1er-prototype-ot-dzhova.html]амх 30 1er prototype РѕС‚ джова[/url]
[url=https://yuveli
yeukrasheniya.1cbit.net/yuveli
yeukrasheniya/4326-kremli-zolotogo-kolca-rossii.html]кремли золотого кольца россии[/url]
[url=https://center.renthop.net/homes/5566-uta-apartments-for-rent.html]uta apartments for rent[/url]
[url=https://drug.exkavator.net/medicaldevice/3956-drugs-containing-bromine.html]drugs containing bromine[/url]
[url=https://moscow.price-gnb.ru/zapchastignb/2561-mashina-gnb-shmidt.html]машина гнб shmidt г. Москва[/url]
[url=https://pavlovsk.dengivdolg.ml/podraspisku/2180-dengi-v-dolg-v-gtemirtau.html]деньги в долг в г.темиртау г. Павловск[/url]
Error 404 reg.
[url=https://iPhone.exkavator.net/ipad/1270-how-much-iphone-cost-to-apple.html]how much iphone cost to apple[/url]
[url=https://book.zapravkakartridzhejkazan.ru/cook/11932-angliyskiy-v-fokuse-3-klass-kniga-dlya-roditeley-kupit.html]английский в фокусе 3 класс книга для родителей купить[/url]
[url=https://center.renthop.net/moving/5570-vericom-enterprise-rent-a-car.html]vericom enterprise rent a car[/url]
[url=https://medicines.epoch-life.net/stomachache/125-vet-medicine-online-australia.html]vet medicine online australia[/url]
[url=https://polya
yye-zori.price-gnb.ru/zapchastignb/2561-mashina-gnb-shmidt.html]машина гнб shmidt г. Полярные Зори[/url]
[url=https://kharabali.dengivdolg.ml/bystryyzaym/2187-kak-ve
ut-dengi-kotorye-dal-v-dolg-pod-raspisku.html]как вернуть деньги которые дал в долг под расписку г. Харабали[/url]
Error 404 reg.
[url=https://wot.lend-money.ru/modyamveya/976-igra-rast-utub-ot-dzhova.html]игра раст ютуб от джова[/url]
[url=https://book.zapravkakartridzhejkazan.ru/cook/11932-angliyskiy-v-fokuse-3-klass-kniga-dlya-roditeley-kupit.html]английский в фокусе 3 класс книга для родителей купить[/url]
[url=https://center.renthop.net/beds/5593-flamingo-land-prices-caravans-to-rent.html]flamingo land prices caravans to rent[/url]
[url=https://atto
ey.exkavator.net/inte
ationaltendering/4101-william-anthony-gerard-atto
ey-palisades.html]william anthony gerard atto
ey palisades[/url]
[url=https://kursk.price-gnb.ru/ustanovkignb/2506-remont-lokacii-gnb-chelyabinsk.html]ремонт локации гнб челябинск г. Курск[/url]
[url=https://vologda.dengivdolg.ml/bystryyzaym/2187-kak-ve
ut-dengi-kotorye-dal-v-dolg-pod-raspisku.html]как вернуть деньги которые дал в долг под расписку г. Вологда[/url]
Error 404 reg.
KjzgmhImaft - 2017-07-06  23:06:35
 payday loans lawton ok
short term loans

&lt;a href=&quot;http://payday1000loansonline.us/#loan&quot;&gt; loans for people with bad credit &lt;/a&gt;

[url=http://payday1000loansonline.us/#loans] bad credit loans [/url]
payday loans lawton ok
KkumoaImaft - 2017-07-06  22:53:37
 payday loans akron ohio
loans direct

&lt;a href=&quot;http://payday1000loansonline.us/#loan&quot;&gt; loans direct &lt;/a&gt;

[url=http://payday1000loansonline.us/#loan] payday loans online [/url]
payday loans okc
KfvkobImaft - 2017-07-06  22:41:09
 direct lender payday loans no teletrack 100 approval
bad credit personal loans

&lt;a href=&quot;http://payday1000loansonline.us/#loan&quot;&gt; bad credit personal loans &lt;/a&gt;

[url=http://payday1000loansonline.us/#online] payday loan [/url]
legitimate payday loans
KoxzsbImaft - 2017-07-06  22:29:35
 tribal payday loans no credit check
payday loans

&lt;a href=&quot;http://payday1000loansonline.us/#loans&quot;&gt; personal loans &lt;/a&gt;

[url=http://payday1000loansonline.us/#online] personal loans [/url]
tribal lenders payday loans
KdoslsImaft - 2017-07-06  22:17:07
 payday loans lubbock tx
bad credit personal loans

&lt;a href=&quot;http://payday1000loansonline.us/#bestcash&quot;&gt; loans for people with bad credit &lt;/a&gt;

[url=http://payday1000loansonline.us/#online] bad credit personal loans [/url]
ace check cashing payday loans
KvrqhgImaft - 2017-07-06  21:58:28
 quick online payday loans http://albastru-amenajari.ro/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=23181 legitimate payday loans http://magazinparchet.ro/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=7593 payday loans in arkansas http://erem-sa.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=4484 no credit check payday loans near me http://doctorlaguna.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=26687 payday loans des moines http://www.nds.com.pk/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=416737 payday loans lawrence ks http://lilyandrosehardware.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=553052 online payday loans colorado http://mhe
andezhomes.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=394851 payday loans corpus christi http://nishasbridal.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=5774 first payday loans http://podudbina.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=73353 payday loans direct lender no teletrack http://futurekidsrus.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=15038 payday loans in birmingham al http://shkola-archery.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=29814 maryland payday loans http://olympicitypiwc.co.uk/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=52883 payday loans online bad credit http://domofone-moscow.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=1719 real payday loans http://bookanytime.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=24082 payday loans for bad credit direct lenders http://appu.te.ua/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=77712 easy online payday loans http://www.nds.com.pk/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=423122 payday loans in nc http://spformation.fr/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=11451 payday loans nj http://limo111.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=185213 wal mart payday loans http://smweb.ca/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=22356 payday loans wichita ks http://ncapt.tv/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=25765 payday loans in houma la http://www.twa.com.sa/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=643840 payday loans online no credit check direct lender http://arkaudiovideo.nl/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=34830 personal loans for poor credit not payday loans http://hp-cc.org/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=8454 bad credit payday loans direct lenders only http://provence-polyester.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=167379
KmhghjImaft - 2017-07-06  21:45:14
 direct lender online payday loans http://sigmastrat.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=243766 payday loans louisville ky http://alte
ativa-dom.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=12570 faxless payday loans http://stefantheimer.de/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=188933 missouri payday loans http://massager-plus.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=4507 online payday loans texas http://motronik.com.co/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=22377 payday loans no credit http://sigmaclub-ui.org/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=947341 direct lender online payday loans http://art-plomberie.fr/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=3039 ace check cashing payday loans http://hipport.de/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=1228 payday loans in corpus christi http://www.bonsaipots.com.br/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=28899 payday loans richmond va http://tanerceyiz.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=117413 payday loans with no checking account required http://correremaratona.it/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=5450 payday loans dothan al http://getavoinea.ro/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=9964 john oliver payday loans http://ceramicalica.com.br/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=19115 payday loans no credit check no employment verification http://cadcamoffices.co.uk/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=946923 tribal lenders payday loans http://emisorapotencialatina.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=24411 payday loans birmingham al http://micolini-natalina.eu/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=3697 online payday loans direct lender http://busspetros.se/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=22076 payday loans in corpus christi http://liquezyasociados.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=38401 payday loans st louis http://correremaratona.it/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=5576 bad credit loans not payday loans http://www.reanimator.by/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=144196 payday loans cincinnati ohio http://moxielifeinspired.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=815 consolidate payday loans http://stehkam.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=6152 las vegas payday loans http://al-sabhany.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=1514 payday loans no checking account needed http://akhtartravel.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=13816
KjbudsImaft - 2017-07-06  21:30:42
 2nd chance payday loans http://navagia.gr/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=140424 payday loans online ohio http://tpdsmumbai.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=130884 alte
ative to payday loans http://ssmedia.co.za/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=153127 payday loans in arlington tx http://advilco.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=3697 online payday loans no credit check instant approval http://rupsbigbear.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=213934 bad credit payday loans direct lenders only http://theresp.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=17677 payday loans in sc http://limo111.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=184803 payday loans irvine ca http://novadentalanesthesia.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=1566556 online payday loans tennessee http://enter5.com.br/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=7455 payday loans u k http://rupsbigbear.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=201977 payday loans fresno http://kenig-plasticsurg.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=308640 best payday loans online http://vineimmigrationservices.co.uk/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=14712 payday loans vancouver wa http://dressesboston.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=4786 online payday loans indiana http://goconfused.co.uk/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=24153 payday loans oregon http://mukoni.co.za/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=26089 payday loans waco tx http://agacoadministradoresconcursales.org/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=234402 payday online loans http://sinergibumn.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=93575 personal loans for bad credit not payday loans http://accountingservices24.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=58931 payday loans hampton va http://vipayinc.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=22806 payday loans in texas http://doggiesdayout.com.au/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=13085 payday loans albuquerque http://hurmax.com.tr/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=3095 money tree payday loans http://social.lviv.ua/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=12814 help with payday loans http://www.leaderboom.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=33372 payday loans alabama http://am.white-zebra.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=47696
KdtnkcImaft - 2017-07-06  21:17:11
 immediate payday loans http://mujeresparanuevostiempos.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=61928 payday loans stockton ca http://lionsteelgroup.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=33782 payday loans in maryland http://helmyhashim.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=2827658 payday loans no checking account http://www.welovefoot.net/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=10916 online payday loans with no credit check http://www.lubris.lt/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=618 payday loans joplin mo http://razanac-tzo.net/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=27779 online payday loans no credit check instant approval http://ilovemycharkabraai.co.za/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=35954 fast auto and payday loans http://larutadelyo.cl/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=1449038 payday loans in houma la http://agacoadministradoresconcursales.org/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=234377 personal loans for bad credit not payday loans http://acrp.in/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=3151500 payday loans in mobile al http://innovasyses.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=49756 payday loans columbia sc http://www.gastrodizajn.sk/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=487455 payday loans austin http://gunstoresoftware.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=2657 online payday loans direct lender instant approval http://pastryreposteria.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=23386 applying for payday loans http://psmbranding.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=591854 castle payday loans login http://injectllc.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=787361 no credit check payday loans direct lenders http://gebzeyuzmekursu.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=8633 payday loans kansas city ks http://pouyab.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=53155 online direct payday loans http://fiorapielesdepescado.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=4348 small payday loans http://savethenationinc.org/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=3455 payday loans green bay wi http://astrahan.tehvolga.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=118877 no credit check payday loans http://maximaratona.net/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=5801 payday loans online same day http://evgrashina.de/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=100415 best payday loans direct lender http://appu.te.ua/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=77747
KtpnumImaft - 2017-07-06  21:03:31
 payday loans in mobile al http://trangmuasam.net/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=16074 payday loans green bay wi http://anymemo.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=22265 payday loans direct lender no teletrack http://pmztechnology.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=202952 payday loans in philadelphia http://tonmir.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=12540 easy payday loans online http://yogainature.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=51069 payday loans raleigh nc http://gestionarte.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=15699 guaranteed approved payday loans http://whatisasculpture.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=22153 money mart payday loans http://naveedulhassan.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=56877 online payday loans no credit check instant approval http://madepices.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=1014879 payday loans in michigan http://seginco.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=412077 payday loans cedar rapids http://alwaysflowersandevents.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=43890 payday loans okc http://pove.es/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=24149 payday loans jackson tn http://nationalbrandsllc.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=6699 online payday loans direct lenders http://fiori.nu/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=14955 payday loans with installment payments http://blueautos.es/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=134391 1 hour payday loans no credit check http://minmag.mining.kz/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=3300238 quick online payday loans http://frtiling.com.au/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=33284 easy payday loans online http://ilovekrakow.info/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=14284 loans payday http://paraguachoa.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=9580 advance america payday loans http://human.ug/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=23092 reputable payday loans http://instalatiigplprahova.ro/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=982463 best online payday loans instant approval http://mentalfortennis.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=13451 payday loans with no bank account http://sigmastrat.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=243896 payday loans las vegas nv http://markus-waesch.de/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=25216
KqlpovImaft - 2017-07-06  20:29:37
 payday loans in nj http://ken-kor.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=155621 castle payday loans login http://anaisabelaparicio.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=180154 fast payday loans http://viewbanktc.com.au/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=25327 payday loans bakersfield ca http://test.dimoni.com.ua/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=212 new year payday loans http://www.pizzafele.sk/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=12901 personal loans for bad credit not payday loans http://xmbeekeeping.eu/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=17647 castle payday loans review http://l46-ger.de/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=167686 payday loans in kansas city mo http://24autotek.ru/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=42341 payday loans in arkansas http://sydneyshutters.com.au/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=25651 payday loans cincinnati http://naveedulhassan.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=57048 payday loans without direct deposit http://shuttle-adsl.ir/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=204147 money mart payday loans http://pro-itc.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=10440 payday loans appleton wi http://calaonature.org/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=15409 need a payday loans http://barossasweetshop.com.au/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=8067 payday loans in arkansas http://motor-web.it/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=14560 www payday loans com http://ilovekrakow.info/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=14329 instant payday loans online http://navagia.gr/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=140311 payday loans for bad credit direct lenders http://simplybibo.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=11361 guaranteed payday loans no teletrack http://autocaravanastenerife.es/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=23005 payday loans in san antonio http://xn--90anb3a.xn--80a6ak.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=9431 best payday loans online http://selimiyecamii.nl/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=109538 payday loans st louis http://servicios-toldeca.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=419227 payday loans kansas city http://miranico.com/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=2103953 payday loans online same day http://pizzaone.kz/index.php/component/users/?option=com_k2&view=itemlist&task=user&id=57337
<<[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.