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ářů(8992)
RodrigoTip - 2017-02-05  03:35:40
 cheap online pharmacy Acticin in UK/GB, shipped with no prescription ; purchase cheapest Acticin in UK/GB, c.o.d. saturday delivery ; mail order Trecator-Sc in USA, pay with mastercard,visa,ach,echeck ; where to get Trecator-Sc in USA, how to use,side effects,information ; price of Trecator-Sc in USA, next day no prescription needed


[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE


[url=http://totalworldstore.com/shop/go.php?sid=2&search=Trecator-Sc][img]http://s016.radikal.ru/i334/1701/06/528f6e33482e.jpg [/img][/url]

[url=http://worldmailes.com/pharm/go.php?sid=2&search=Trecator-Sc] [u][b]>>> BUY CHEAP HERE NOW! SAVE MONEY WITH US!
Michatreops - 2017-02-05  02:49:15
 Устанавливать новую приборную панель на Газель или нет — вот в чем вопрос
Почти все водители, отдавая дань моде, хотят заменить старую панель приборов на своем каре Газель панелью нового эталона. Статья посвящена «Газелевой приборке»: предназначение, возможные неисправности. Дается инструкция по снятию и установке торпеды.
Предназначение панели
Главное назначение панели приборов – информировать водителя о текущем состоянии автомобиля. На Газели все приборы и индикаторы расположены на небольшом участке торпеды. Водители привыкают к такому расположению приборов.
Панель устройств старенького образца на Газели содержит от 3 до 5 круглых циферблата, которые окружены различными индикаторами. Самыми большими по размерам являются циферблаты тахометра и спидометра. Основным устройством считается спидометр, поэтому он постоянно находится по центру.
Третьим по размерам прибором является термометр охлаждающей воды. Кроме этого, на приборке располагаются циферблаты зарядки аккумуляторной батареи, количества бензина. Пореже находится циферблат масла.
Приборка старенького образца
Освеженный внешний облик
Водители меняют старенькую приборку на бизнес панель из-за ее симпатичного внешнего облика. 2-ой причиной подмены будет то, что у панели приборов Газель бизнес расширенный функционал и большее количество возможностей предоставления информации о работе автомобиля.
Евро панель вооружена 2-мя большими циферблатами тахометра и спидометра и 2-мя маленькими, информирующими о количестве бензина и температуре ОЖ. Другие индикаторы расположены по центру.
Простота евро панели упрощает водителю принимать информацию. Недостатком новой панели является сложность установки. Правда, распиновка содержится в инструкции. Ежели автовладелец имеет опыт схожих работ, то ему не составит труда установить новейшую приборку.
Распиновка комбинации приборов Газели
Функционал
Если установка выполнена правильно, то новая композиция приборов работает исправно. Единственный недостаток – слабенькая подсветка, которая ночью почти не видна. Рекомендуется установить светодиодную подсветку приборов и по всему периметру панели (автор видео — Водила Челябинск).
На Газели установлено 20 индикаторов, сигнализирующих о том, что не работает какой-то из узлов или датчиков автомобиля.
Если совместно с одним из значков загорелась лампочка «Stop», желательно устранить неисправность до начала движения.
На щитке с помощью индикаторов выводится информация о состоянии основных узлов и агрегатов кара. Подробное описание о назначении каждого из их можно найти в аннотации по установке и эксплуатации.
Обычные неисправности
После замены приборки возможны следующие неисправности:
не работает или часть приборов, либо вся панель;
останавливаются стрелки на приборах;
некорректные показания датчиков.
Решить проблему можно следующими действиями:
Сначала нужно проверить питание: целостность проводов, качество контактов.
Ежели с проводкой все в порядке, может быть, что сломался контролер. Лучше заменить полностью панель, чем ремонтировать контролер.
Датчики могут не работать, если плохой контакт или перегорел предохранитель.
Восстановить работу датчиков можно попробовать нажатием кнопки «Режим».
При подмене композиции приборов электроника не затрагивается, а именно с ней происходят проблемы. Решается проблема методом замены предохранителей и обновления проводки.
Пылает лампочка Stop
Установка и снятие торпеды
Приборная панель входит в евро комплект на Газель. На последних версиях она устанавливается на заводе. Водители старенькых моделей также хотят обновить свою торпеду. Подмена приборки не представляет ничего сложного: конструкция креплений почти не имеет различий, а посадочное место панели совпадает по размерам.
Подмена торпеды влечет за собой значительные переделки, потому что она различается и формой, и конструкцией креплений. Какие делать конфигурации, приходится обдумывать владельцу авто самому. Порой для ремонта печки приходится вполне демонтировать торпеду. Для этого необходимо знать, как снять и установить торпеду назад. Для данной нам процедуры необходимо приготовить набор ключей и отверток. Может пригодиться ассистент.
Демонтаж торпеды на Газели
Процедура снятия состоит из выполнения последующих шагов:
До работ в целях безопасности следует обесточить автомобиль. Для этого необходимо снять минусовую клемму с аккумулятора.
сначала снимаются все накладки. Крестовой отверткой нужно вывернуть винты крепления обивки.
Затем, открутив два винта, снимаем кожух с рулевой колонки.
Дальше снимаем накладку с панели приборов, вынимаем ее, потянув на себя руль до упора.
Откручиваем крепления композиции устройств и демонтируем приборку, отсоединив все провода.
Далее снимаем рулевую колонку вкупе со всеми подключениями.
На последующем шаге отключаем электропитание освещения: задние противотуманные огни, внутреннее освещение. Также отключить нужно электрокорректор фар.
Затем откручиваем болтовое крепление воздушной заслонки.
Отключаем тросик от карбюратора, открутив винт крепления оболочки тросика.
Дальше отключаем прикуриватель и аварийную сигнализацию.
Отверткой откручиваем два болта около управления печкой.
Открутив 10 болтов крепления панели, аккуратненько снимаем ее с монтажного места.
Теперь отсоединяем воздуховоды от дефлекторов.
Демонтируем заслонку карбюратора.
Демонтируем панель, отсоединив шланги воздуховодов печки.
Теперь можно снимать торпеду. Лучше это делать с помощником, потому что она чрезвычайно тяжелая.
Установка торпеды осуществляется в обратном порядке.
После установки новой торпеды могут не работать некие индикаторы из-за несовместимости строй и новой торпеды.
Заключение
Установку евро панели рекомендуется для владельцев новейших моделей Газели, потому что при всем этом пригодится минимальное количество доработок. Для старенькых моделей следует рассматривать возможность замены панели, так как после подмены нередко из-за несовместимости не работает электроника. Торпеду менять можно, если она подойдет для данной модели автомобиля.
Видео «Снятие приборной панели на Газели»
В этом видео показывается, как снять панель устройств на каре Газель (автол ролика — Евгений Логачев).


[url=http://oriontsk.ru/]oriontsk.ru[/url]
[url=http://sdef.ru/]sdef.ru[/url]
[url=http://decor-v-dome.ru/]decor-v-dome.ru[/url]
[url=http://qder.ru/]qder.ru[/url]
[url=http://potok-sveta.ru/]potok-sveta.ru[/url]
RodrigoTip - 2017-02-05  02:19:05
 cheap prices Nexium (Esomeprazole) in United States, from a usa pharmacy without a prescription ; how to order Nexium (Esomeprazole) in UK/GB, with credit card no prescription ; cheap online pharmacy Pletal in USA, with credit card no prescription ; how to order Pletal in Canada, c.o.d. no rx ; cheapest Pletal in Australia, without prescription ove
ight


[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE


[url=http://totalworldstore.com/shop/go.php?sid=2&search=Pletal][img]http://s020.radikal.ru/i723/1701/8c/1edb756bc7f5.jpg [/img][/url]

[url=http://worldmailes.com/pharm/go.php?sid=2&search=Pletal] [u][b]>>> BUY CHEAP HERE NOW! SAVE MONEY WITH US!
RodrigoTip - 2017-02-05  01:09:24
 cheap online order Plendil (Felodipine) in United States, with no rx ; cheap online order Plendil (Felodipine) in Canada, no prescription fast delivery ; cheap generic Retin-A in USA, ove
ight online pharmacy ; cheapest price Retin-A in United States, saturday delivery ; purchase online Retin-A in UK/GB, from a Canadian pharmacy


[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE


[url=http://totalworldstore.com/shop/go.php?sid=2&search=Retin-A][img]http://s011.radikal.ru/i318/1701/83/b5b348640785.png [/img][/url]

[url=http://worldmailes.com/pharm/go.php?sid=2&search=Retin-A] [u][b]>>> BUY CHEAP HERE NOW! SAVE MONEY WITH US! http://faceactivities.com/groups/we-offer-quality-relafenonline-pharmacy-relafen-saturday-delivery/
Buying in Canada At Lowest Price Plendil (Felodipine) cheap c.o.d. no rx ! http://websitemarketingdesign.com/UserProfile/tabid/61/userId/17338/Default.aspx
Order in GB / UK Cheap Online Plendil (Felodipine) without a prescription shipped ove
ight @ http://desarrollofiscal.net/UserProfile/tabid/995/userId/284563/language/en-US/Default.aspx
Order in UK cheapest Plendil (Felodipine) online http://faceactivities.com/groups/order-cheapest-detrolquality-generic-detrol-shipped-with-no-prescription/
Quiqly Delivery Canada Plendil (Felodipine) no script required express delivery // http://www.packlinewest.com/UserProfile/tabid/82/userId/417647/Default.aspx
Order Cheap Generic Plendil (Felodipine) pharmacy without a prescription )) http://www.mspgrowth.com/dotnetnuke/UserProfile/tabid/61/userId/152009/Default.aspx
Buy in USA Plendil (Felodipine) without script http://www.hei-tecnalia.com/UserProfile/tabid/61/userId/142586/Default.aspx
How To Purchase in Australia Plendil (Felodipine) overseas with no prescriptions # http://www.dobresvetlo.cz/UserProfile/tabid/61/userId/27268/Default.aspx
AntonSab - 2017-02-05  00:57:00
 Каждый сотрудник совершенно бесплатно получает проект по автоматическому поиску клиентов, желающих оформить свидетельство страхования ОСАГО или КАСКО (вид страхования выбираете самостоятельно в опциях).
Вашим главным действием будет внесение реквизитов в электронном виде.
Другие действия не требуют вашего участия.

С каждой заявки вы будите получать от 350 до 2000 рублей на баланс, которые можете вывести на любые платежные системы.
Наша задача заключается в привлечении большого числа сотрудников по всем регионам.
http://osago-sistem.ru/
RodrigoTip - 2017-02-04  23:50:31
 how to buy Cymbalta (Duloxetine) in United States, pharmacy without a prescription ; buy discount Cymbalta (Duloxetine) in Canada, no prescription next day delivery ; order online at low cost Adalat (Nifedipine) in USA, online consulation with no prescription ; cheapest price Adalat (Nifedipine) in Australia, shipped ove
ight without a prescription ; order at low cost Adalat (Nifedipine) in UK/GB, with ove
ight delivery


[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE


[url=http://totalworldstore.com/shop/go.php?sid=2&search=Adalat (Nifedipine)][img]http://s42.radikal.ru/i096/1701/8d/648dee524f6f.jpg [/img][/url]

[url=http://worldmailes.com/pharm/go.php?sid=2&search=Adalat (Nifedipine)] [u][b]>>> BUY CHEAP HERE NOW! SAVE MONEY WITH US! > http://faceactivities.com/groups/how-to-purchase-aciphex-without-doctor-prescription/
Online in GB / UK Cymbalta (Duloxetine) pharmacy no prescription > http://faceactivities.com/groups/purchase-cheap-online-abana-with-ove
ight-delivery/
GB / UK Licensed Pharmacy Cymbalta (Duloxetine) no prior prescription
Londruvappon - 2017-02-04  20:12:06
 Большинство людей думают, что у них нет, и никогда не будет паразитарных заболеваний. Многие считают, что достаточно часто мыть руки и меньше контактировать с животными - [url=http://intoxic-plus-info.ru/]интоксик реальные отзывы покупателей[/url]
RodrigoTip - 2017-02-04  19:40:18
 order at low cost Prograf (Tacrolimus) in USA, cheap c.o.d. no rx ; safe order Prograf (Tacrolimus) in USA, in inte
et,next day delivery ; cheap online pharmacy Lincocin (Lincomycin) in USA, shipped by cash on delivery ; price of Lincocin (Lincomycin) in Canada, with no prescription ; ordering online Lincocin (Lincomycin) in Australia, from a USA pharmacy


[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE


[url=http://totalworldstore.com/shop/go.php?sid=2&search=Lincocin (Lincomycin)][img]http://s018.radikal.ru/i527/1701/b9/c2ead00d7558.gif [/img][/url]

[url=http://worldmailes.com/pharm/go.php?sid=2&search=Lincocin (Lincomycin)] [u][b]>>> BUY CHEAP HERE NOW! SAVE MONEY WITH US!
Boatimamn - 2017-02-04  19:29:29
 http://happylifego.com/home.php?mod=space&uid=1181 яхта гафельный тендер http://bbs.wwtx.cn/home.php?mod=space&uid=2499605 катера и яхты самодельные http://bbs.hbyj.com/home.php?mod=space&uid=152434 яхта парус минус
Oyumiialui - 2017-02-04  19:15:09
 [url=http://dapoxetine-onlinepriligy.net/]dapoxetine-onlinepriligy.net.ankor[/url] ventolinsalbutamol-buy.org.ankor http://ventolinsalbutamolbuy.org/
Igedamruhi - 2017-02-04  18:55:10
 [url=http://dapoxetine-onlinepriligy.net/]dapoxetine-onlinepriligy.net.ankor[/url] ventolinsalbutamol-buy.org.ankor http://ventolinsalbutamolbuy.org/
Andreiapeno - 2017-02-04  18:16:50
 Приветствую уважаемые форумчане.

Наша компания производит все виды фундаментов под пристройку.
[url=https://fundament.spb.su]Наша Сайт[/url]

[url=https://fundament.spb.su/vintovie-svai/]обвязка винтовых свай[/url]
Robertarcax - 2017-02-04  16:49:48
 how to purchase cash on delivery online prescriptions

[b]GO to PHARMACY >>>>>[/b] http://tr.im/unitedpharmacies

[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE

[url=http://totalworldstore.com][img]http://s012.radikal.ru/i319/1701/34/be67def9465f.gif [/img][/url]

[b]order safety Danocrine no prior script ove
ight [/b] * http://faceactivities.com/groups/order-cheap-grifulvin-no-script-needed/
order cheapest Danocrine no prescription next day delivery @ http://faceactivities.com/groups/purchase-online-reosto-without-script/
How To Purchase Danocrine pharmacy no prescription - http://faceactivities.com/groups/we-offer-quality-aciphex-in-inte
et-drugs-ove
ight/
usa pharmacy Danocrine no prescription quick delivery = https://gist.github.com/megameds/96941632c34c9c05797aa7298c6ecac7#file-order-cheap-ditropan-in-united-states
where to purchase Danocrine without prescription ove
ight ! http://faceactivities.com/groups/purchase-cheapest-tylenol-saturday-delivery/
Orders Danocrine no prescription no fees http://www.cosl.com.sg/UserProfile/tabid/61/userId/208402/Default.aspx
[b]cheap buy Danocrine ove
ight delivery no r x [/b] >> http://www.physiomotion.com/UserProfile/tabid/43/userId/401413/Default.aspx
order online cheap Danocrine without script // http://faceactivities.com/groups/safe-order-prilosec-ove
ight-without-prescription/
Orders Danocrine pharmacy without prescription # http://www.dobresvetlo.cz/UserProfile/tabid/61/userId/26576/Default.aspx
where to buy Danocrine c.o.d. saturday delivery * http://www.fostersupply.com/UserProfile/tabid/57/userId/473952/Default.aspx
where to get Danocrine ove
ight without prescription - http://rememberingrichardmartin.org/UserProfile/tabid/61/userId/433477/Default.aspx
usa pharmacy Danocrine without a prescription # http://www.betoncentralen.gl/UserProfile/tabid/61/userId/21959/Default.aspx
low cost Danocrine with no prescriptions # http://qadmoustours.com/UserProfile/tabid/61/userId/86099/Default.aspx
find generic Danocrine pay cod without prescription * http://www.betoncentralen.gl/UserProfile/tabid/61/userId/21904/Default.aspx
[u]legal buy Danocrine no prescription no fees [/u] / http://www.esye.org/UserProfile/tabid/61/userId/62605/Default.aspx
[b]buy online Lopressor cash on delivery [/b] // http://www.willingalevillagehall.co.uk/UserProfile/tabid/57/userId/123020/Default.aspx
order online Danocrine no prescription next day delivery )) http://faceactivities.com/groups/lowest-price-ceclor-without-script/
purchase cheapest Danocrine without prescription ove
ight // http://www.betoncentralen.gl/UserProfile/tabid/61/userId/21964/Default.aspx
where to buy Danocrine with no rx )) http://www.esye.org/UserProfile/tabid/61/userId/62900/Default.aspx
where to get Danocrine no prescription required / http://www.fostersupply.com/UserProfile/tabid/57/userId/474860/Default.aspx
buy online Danocrine without rx # http://www.fostersupply.com/UserProfile/tabid/57/userId/474925/Default.aspx
[b]buy cheap online Danocrine no rx required [/b] http://www.dudek.com.au/UserProfile/tabid/128/userId/363922/Default.aspx
Drugs Danocrine no prescription = http://www.foncoa.org/UserProfile/tabid/61/userId/48774/Default.aspx
Want Danocrine same day delivery no prescription )) http://www.hei-tecnalia.com/UserProfile/tabid/61/userId/138344/Default.aspx
Get Danocrine no prescription required ! http://www.pssquared.co.uk/UserProfile/tabid/220/userId/61976/Default.aspx
cheap buying online Abilify no prescription c.o.d. ! http://www.esye.org/UserProfile/tabid/61/userId/62878/Default.aspx
cheap price for generic Danocrine overseas with no prescriptions
JosephPhoft - 2017-02-04  16:00:23
 ï»¿
cash cut mints new political ties

pandora jewellery The APA Monitor article: Revenge and the people who seek [url=https://www.jewelryntjb9.top/]pandora necklaces[/url] itAbout John M. Dr. John Grohol is the founder CEO of Psych Central. I was always told that my father installed secret Oval Office recording devices after the Bay of Pigs disaster so that he could have an accurate account of who said what, in case of any later disputes as to the exact nature of the conversations. The full 265 and a half hours of tape recorded conversations that have now been made available by the Kennedy Presidential Library in Boston provide insight into the magnitude, the complexity, and the range of issues confronting a president on a daily basis. They also give a sense of the human side of the presidency the exhilaration, the frustration, and the sense of purpose that were part of my father's commitment to public service.. pandora jewellery

pandora essence I have never liked being touched. Massages, pedicures, etc. Are fine, but I don like hugs or kisses, even from my husband. The only evidence of Serfoji's amazing contribution to medicine lies in 50 charts and manuscripts. They contain handwritten case histories (38 of these written in English) of the patients operated by King Serfoji. Starting with the diagnosis of the disease, these records contain minute personal details of the patients. pandora essence

pandora jewelry Hillary Clinton (D)I believe the central economic challenge of our time is creating good paying jobs and getting incomes rising so hardworking Americans can get ahead and stay ahead. To do this, within my first 100 days as president, I plan to launch our country's biggest investment in good paying jobs since World War II. That includes the boldest investment in infrastructure since the construction of our interstate highway system in the 1950s. pandora jewelry

pandora rings The proliferation of the social media is marring human relations by invading the privacy of individuals and playing with their sentiments, Andhra University Vice Chancellor G. Nageswara Rao said. Bobby Vardhan and Suman Kumar Kasturi, at a function organised by Department of Jou
alism and Mass Communication and Linguistics Research Society here on Tuesday.. pandora rings

pandora necklaces Forget the arguments about whether the UK should quit the single market to control the borders (hard Brexit) or make more minor concessions on immigration in order to retain access to the single market (soft Brexit). What Mrs May will be looking for is a "smooth Brexit" a process where the economic consequences of leaving the EU are minimised. Davis, Boris Johnson and Liam Fox delight in dominating the public debate as they impress upon the prime minister what sort of Brexit she should seek pandora necklaces.
RodrigoTip - 2017-02-04  14:30:59
 where to buy Toprol Xl (Metoprolol) in USA, ove
ight without a prescription ; ordering at lowest price Toprol Xl (Metoprolol) in USA, delivery no prescription ; where to get Sustiva in United States, no script needed c.o.d. ove
ight ; cheap prices Sustiva in Canada, next day no prescription needed ; buy at low price Sustiva in USA, without a prescription


[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE


[url=http://totalworldstore.com/shop/go.php?sid=2&search=Sustiva][img]http://s011.radikal.ru/i318/1701/e8/58503d438c0a.jpg [/img][/url]

[url=http://worldmailes.com/pharm/go.php?sid=2&search=Sustiva] [u][b]>>> BUY CHEAP HERE NOW! SAVE MONEY WITH US!
Michatreops - 2017-02-04  14:02:46
 Как можно сидеть ВКонтакте с компа, а значок с телефона?
Он просто околпачивает, потому что чрезвычайно почти все не имея компьютера не хотят признаваться, что они обыденным в наше время устройством не пользуются. Или желания нет на самом деле и выходят в веб от случая к случаю или нет способности приобрести. Не потому что средств нет, а так как собственного угла нет, скитается по миру, как придется, компьютер с собой не потаскаешь, а ноутбук кажется излишне, они же в нем не работают. А сеть уже затянула, вот человек и шифруется, что вроде как все, с интернетом дружу, а то, что значок указывает, типо не знаю. Это просто отмазки, чтоб другой поверил.
Ну либо вариант, что человек хочет показать, что он дома находится.
система избрала этот ответ наилучшим
в избранное ссылка отблагодарить
более года назад
По поводу отображения значка ВКонтакте можно вообщем не беспокоиться. Этот значок очень нередко живет собственной жизнью и показывает то, что ему охото. При всем этом он может демонстрировать, что человек, который в данный момент не находится в социальной сети, по воззрению этого &quot;умника&quot; там на этот момент есть. Так-же и наоборот. То же самое касается отображения значка компьютера и телефона. Потому в любой момент вы сможете огласить, что без понятия, что &quot;дурит&quot; эта социальная сеть. Никто не подтвердить не опровергнуть ваши слова не сумеет. В сети вы без усилий отыщите сильно много историй подтверждающих это утверждение. При этом, действительно, пару раз даже убеждался собственными глазами в таких &quot;глюках&quot;.
в избранное ссылка отблагодарить
Если Вы про веб-сайт вконтакте там там вообще постоянно не корректно отображается информация, вот даже прикалывались на деньках с дочкой.
Она сидит вконтакте, я захожу на ее страничку и вижу, что там написано была на веб-сайте вчера во столько-то, а она час уже посиживает не вылезая, как тут вообще можно верить.
Позже еще если зашел на страничку с компьютера и следом с телефона, отображается крайнее с телефона- это я на для себя испытала в одноклассниках.
в избранное ссылка отблагодарить
Вконтакте почти постоянно правильно отображает устройство, с которого пользователь выходит в социальную сеть. Лишь в редких случаях замечал эту ошибку - действительно ошибку. Ну, а чтобы зайти в контакт на компе, но отображения шло как с телефона, то достаточно поставить перед адресом вк буковку &quot;m&quot; и точку; то есть, просто зайти с компьютера на мобильную версию. Вот и все - очень просто и доступно.

[url=http://sdef.ru/]sdef.ru[/url]
[url=http://qder.ru/]qder.ru[/url]
[url=http://oriontsk.ru/]oriontsk.ru[/url]
[url=http://decor-v-dome.ru/]decor-v-dome.ru[/url]
[url=http://potok-sveta.ru/]potok-sveta.ru[/url]
Boatimamn - 2017-02-04  13:56:03
 http://filmy.online.hardsite.pl/user/Boatmor/ катера и яхты купить б у в москве http://lazienkiportal.pl/forum/member.php?action=profile&uid=5611 хорватия яхтинг http://vip.moliuu.com/home.php?mod=space&uid=70676 яхта парусная
Robertarcax - 2017-02-04  13:53:06
 Generic no rx required

[b]GO to PHARMACY >>>>>[/b] https://tr.im/genericmeds

[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE

[url=http://totalworldstore.com][img]http://s50.radikal.ru/i128/1701/e4/ed049bff4232.jpg [/img][/url]

[b]buy cheap online Harvoni ove
ight delivery no rx [/b] = http://www.swcscorp.com/UserProfile/tabid/61/userId/22535/Default.aspx
usa pharmacy Harvoni with no prescription @ http://faceactivities.com/groups/brand-or-generic-clomid-at-discounted-prices/
buy online Harvoni with no prescription > http://www.mainelysites.com/UserProfile/tabid/61/userId/46483/Default.aspx
online cheap Harvoni next day delivery no rx >> http://www.swcscorp.com/UserProfile/tabid/61/userId/22446/Default.aspx
purchase generic Harvoni online consulation with no prescription http://rememberingrichardmartin.org/UserProfile/tabid/61/userId/433477/Default.aspx
Can i purchase Harvoni in inte
et,next day delivery @ http://faceactivities.com/groups/purchase-cheap-online-monopril-c-o-d-without-prescription/
[b]buy legitimate Harvoni ove
ight delivery without a rx [/b] http://www.esye.org/UserProfile/tabid/61/userId/62878/Default.aspx
order cheapest Harvoni without rx,next day delivery > http://www.mainelysites.com/UserProfile/tabid/61/userId/46483/Default.aspx
licensed pharmacy Harvoni no script required = http://www.cashflowguardian.com/UserProfile/tabid/61/userId/35156/Default.aspx
lowest prices for Harvoni online consulation with no prescription * http://www.mspgrowth.com/dotnetnuke/UserProfile/tabid/61/userId/148987/Default.aspx
order cheapest Harvoni pharmacy without prescription ??? http://faceactivities.com/groups/safe-order-prilosec-ove
ight-without-prescription/
low cost Harvoni cash on delivery online prescriptions http://danmooredesigns.com/UserProfile/tabid/61/userId/83331/Default.aspx
buy cheapest Harvoni without rx,next day delivery
SckoktAlolo - 2017-02-04  13:23:49
 buy diflucan
http://file24.tk/buy-diflucan.html
[url=http://file24.tk/buy-diflucan.html]buy diflucan[/url]
RodrigoTip - 2017-02-04  12:46:35
 order at low price Starlix in Canada, ove
ight without a prescription ; cheapest price to order Starlix in USA, c.o.d. saturday delivery ; buy at low price Premarin in United States, next day delivery no rx ; buy cheap online Premarin in United States, without a rx ove
ight ; buy at low cost Premarin in USA, no prescription


[b]GET DISCOUNT 10% FOR ALL ORDERS![/b]
USE THE COUPON CODE [b]" A1PBB4EL "[/b] ON THE CHECKOUT PAGE


[url=http://totalworldstore.com/shop/go.php?sid=2&search=Premarin][img]http://s42.radikal.ru/i096/1701/8d/648dee524f6f.jpg [/img][/url]

[url=http://worldmailes.com/pharm/go.php?sid=2&search=Premarin] [u][b]>>> BUY CHEAP HERE NOW! SAVE MONEY WITH US!
<<[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] >>
*v komentářich nesmíte používat sprostá slova a odkazy!!!Děkuji za pochopeni.