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ářů(8993)
Aadherne - 2017-05-10  06:40:31
 [url=http://best-store-usa.com/#levitra-prices-walmart]viagra and alcohol use[/url] medicine that causes erectile dysfunction [url=http://best-store-usa.com/#what-does-viagra-pill-look-like]natural supplements for erectile dysfunction[/url] walmart pharmacy laurel ms [url=http://usa-best-store.com/#is-erectile-dysfunction-psychological]who owns cialis[/url] levitra 10 mg [url=http://safe-shopping-us.com/#walmart-pharmacy-nicholasville-ky]where can i buy some viagra[/url] erectile dysfunction doctor
Josephref - 2017-05-10  06:11:36
 Женский журнал здесь [url=http://laform.ru/]laform.ru[/url]
Abaguehype - 2017-05-10  06:10:41
 [url=http://usa-safe-store.com/#how-does-viagra-feel]pharmacy tech online[/url] can trazodone cause erectile dysfunction [url=http://us-best-store.com/#walmart-pharmacy-raleigh-nc]cialis online ove
ight delivery[/url] viagra from pfizer [url=http://usa-best-store.com/#baederwood-pharmacy]ingredients in cialis[/url] viagra for sale online [url=http://best-store-usa.com/#oak-grove-pharmacy]natural viagra uk[/url] camp lejeune pharmacy
Aadherne - 2017-05-10  05:14:03
 [url=http://usa-safe-store.com/#viagra-discounts]buy levitra uk[/url] viagra vs levitra vs cialis [url=http://safe-store-us.com/#target-pharmacy-locations]express scripts pharmacy[/url] panther valley pharmacy [url=http://usa-safe-store.com/#treating-bph-with-cialis]what happens if females take viagra[/url] viamedic viagra [url=http://safe-store-usa.com/#best-otc-viagra]cialis or viagra[/url] natural supplements erectile dysfunction
Richardwhoky - 2017-05-10  01:39:36
 dieta para perder peso en una semana 10 kilos
https://dieta-blanda.com/dieta/dietas-de-1400-calorias-menus.php
#rupaluastikvnc482ff34Az
I-want-viagra - 2017-05-10  01:35:46
 [url=http://safe-store-us.com/#aurora-pharmacy]cialis canada[/url] viagra generic brand [url=http://safe-store-us.com/#cialis-vs-levitra]tadalafil cheap[/url] target pharmacy columbia sc [url=http://usa-best-store.com/#heb-pharmacy-midland-tx]chelsea pharmacy[/url] penile erectile problems [url=http://safe-shopping-us.com/#amlodipine-erectile-dysfunction]www.viagra.com[/url] can coffee cause erectile dysfunction
Vasiliyovefs - 2017-05-09  22:30:06
 http://rehw.jigawy.ru/C78HG9.php

[url=http://voew.acojowy.ru/ENba.aspx ]VolehemeAlopy Lili aporaluart[/url]
[url=http://voew.acojowy.ru/5lCX6j.aspx ]ApawsMak Engit ropsype[/url]
[url=http://rehw.jigawy.ru/jlX.php ]frumunk bluesy Mymn[/url]
MaHempateema JouseJah scoubyisose
Howardroors - 2017-05-09  21:51:45
 Про значение работы санэпидем станции трудно преувеличить ее значение потому как - сохранность нашего здоровья. Основное направление СЭС каждого города - забота о состоянии здоровья населения.
Практически каждый человек за свою жизнь хоть раз, но сталкивался с проблемой насекомых или с различными инфекциями. Именно поэтому очень важно знать в какую из служб при этом нужно обращаться.
К сожалению, многие граждане теряются и не знают, как себя вести в случае появления насекомых в доме или при нарушении санитарных норм в государственных учреждениях.
И именно по этой причине и сделали свой портал СЭС [url=http://oficialnyy-ses.ru/">http://oficialnyy-ses.ru/[/url] для всех кто живет в Москве и МО.
Однако это далеко не полный список того, чем занимаются санэпидемстанции. На официальном сайте представлен полный список обязанностей и функций данной службы, а также здесь можно ознакомиться с её структурой. Информация является полной и доступной для любого гражданина.
Вся информация поделена на разделы, и столкнувшись с проблемой паразитов вы легко найдете нужную вам информацию.
Нажав на соответствующую иконку и выбрав нужную услугу, каждый сможет ознакомиться с обширной информацией о подробностях способа борьбы с насекомыми или с другими опасными возбудителями инфекционных заболеваний. Вам не придётся искать эту информацию на других серверах, что очень удобно и освобождает от лишних действий.
Интерфейс сайта очень яркий и красочный. Кроме этого, он ещё и достаточно простой, но при этом очень детальный. Практически на каждый вопрос, проблему или услугу есть своя определённая клавиша, нажав на которую, пользователь получит исчерпывающий ответ на любой из своих вопросов.
Разобраться в структуре сайта будет под силу каждому, даже пожилому человеку, что очень кстати, ведь от подобных проблем не застрахован никто. Слева представлен обширный спектр услуг, которые можно заказать в СЭС. К примеру, уничтожение таких насекомых, как клопы и тараканы, обработка от клещей, различные эффективные способы избавления от блох, крыс, мышей, шершней, муравьёв и т.д.
При выборе одной из категорий вы получаете большую, но очень важную дозу информации по теме, однако, если у вас всё ещё остались вопросы, в самом конце сайта находится форма, с помощью которой вы можете задать свой вопрос сотрудникам СЭС. Достаточно просто ввести своё имя и адрес электронной почты, задать интересующий вас вопрос и ввести код по картинке. После этого сотрудники службы в кратчайший срок обязательно отправят вам ответ.
хотелось бы отметить тот факт, что выбрав какую то не было услугу любой посетитель сразу увидит список городов в которых она оказывается. Благодаря чему вы сразу определите по своему местоположению сможем лы мы вам помочь.
По мимо Москвы и региона мы оказываем услуги на территории Калужской и Владимирской областей.
Навигация сайта на столько проста и удобна, что без труда вы найдете всенеобходимые контакты и телефоны по которым с нами можно связаться. Первое, что видит пользователь, зайдя на сайт - контактную информацию и время работы компании.
Любой из посетителей на сайте может пройти небольшой опрос с целью проверки своей осведомленности по теме насекомых и паразитов.
В большей части именно благодаря официальному сайту СЭС жители нашей страны получают своевременную информацию о насекомых и паразитах а также услугах и методах борьбы с ними - [url=http://oficialnyy-ses.ru/izbavitsya-ot-bloh/]избавиться от блох в ивантеевке[/url]
AliseLisa 23 - 2017-05-09  19:05:56
 Кстати,парфюмерия элит goo.gl/KTJs6l
Qtfddk - 2017-05-09  19:03:01
 Take viagra without a doctor prescription with water. The recommended dose needs to be consumed united hour in advance. While swallowing troche, mark aggressive sure it is not beaten, crushed or broken. Results intention develop completely imperceivable if the pellet is not bewitched as a whole.
Other solvents, except be unfeasible, also should be avoided in search fetching [url=http://viagrawithoutdoctorprescription.shop/]viagra without a doctor prescription[/url]
Robertsmoley2 - 2017-05-09  18:52:47
 It becomes difficult budgeting money in case you are unemployed. (After all it is difficult to budgeting money if you don't have any coming in). Being unemployed may be one of the worst and most stressful experiences of your life. It ranks right up there with divorce and death of someone you love. In today's uncertain times, it's still going on in many parts of the united states.

Begin compose articles and post your notions and interests about what you do passion is on your site. You can post a married couple times 1 week. Your readers will look forward to talking with you.

Next you will need for more the basics of HTML formatting for websites. You will allow anyone to change your websites easily by your own circumstances. Just buy a light weight introductory direct. No need to get fancy or spend a lot of financial resources. Just lea
all of the basics of HTML.

The actual ugly side of entrepreneurship. Money can be the ingredient that leads to your ugly doors. Every venture needs capital to be raised, this comes from savings, support from and also friends, loans from banks or investors.

All the while, we've not only built a six-figure income, but we've done so through what motivates us most: helping others select the kind of affection in their lives i always have.

Every an affiliate the United states (the world for that matter) should approach their particular her act as a business owner. How well are you using unbelievable rate you currently possess? Everyone has time, talent, knowledge, experience, expertise, passion, and property they can leverage construct greater value for their customer(s). May be mean increasingly valuable pictures current job or opening a small company to serve others.

Please continue your formal training...but get on the inte
et today and check out your 'extra-curricular' options. I urge in order to add some REAL VALUE to your future. Do whatever it will take to create a self-development seminar today, be it financial, self-motivational, or other interest.

http://topne.ws/andrewsmoley86432

,[url=http://smarturl.co/robertsmoley76264]http://smarturl.co/robertsmoley76264[/url]
AbuBoybeamma - 2017-05-09  18:03:51
 [url=http://us-safe-store.com/#viagra-online-sales]how long for cialis to work[/url] viagra oral jelly [url=http://safe-shopping-usa.com/#how-long-does-cialis-stay-in-the-system]purchase sildenafil[/url] 24 hour pharmacies [url=http://safe-shopping-us.com/#rancho-park-pharmacy]do they sell viagra over the counter[/url] difference between viagra and cialis [url=http://us-best-store.com/#pharmacy-job-outlook]ku pharmacy[/url] ladue pharmacy
Wilfredgravy - 2017-05-09  16:42:29
 [url=https://me-coin.com/socio/PRIDE888][b]MECOIN – НОВАЯ КОМПАНИЯ.
ВЫПЛАТЫ АВТОМАТОМ на ваш биткоин-кошелек.
ТРИ ИСТОЧНИКА ДОХОДА :
ежедневные пассивные начисления (5% день)
НАЧИСЛЕНИЯ ПО БИНАРУ (бесконечно) (10%)
АВТОЗАПОЛНЯЮЩИЕСЯ матрицы.[/b][/url]
https://forkwin.com/ref/PRIDE/landpage
Lstrguiffic - 2017-05-09  16:24:34
 Thank you! Great article! Blog reader in clear

[url=http://forum.pokewalker.pl/viewtopic.php?f=10&t=243528] In my opinion you need to rest more often, very much you ea
.
[/url]

http://forum.3fareet.com/showthread.php?tid=396809
AnitaGew - 2017-05-09  13:49:02
 [url=https://lofos.ru/]знакомства для взрослых бесплатно фото[/url]
Robertsmoleydal - 2017-05-09  11:03:15
 The transition from employee to entrepreneur while enjoying MLM success in the of the most exhilarating career steps you can make in this lifetime. Going from "playing by the rules" to "making the rules" is incredibly invigorating.

Another answer why people decide to get an entrepreneur is the joy it increases. The varying daily challenges that keep you on your toes. In all probability you'll feel more fulfilled than the 9-5 job, since your responsibilities are down to you. You will be constantly lea
ing each and every day which exactly what we typical about, lea
ing and moving on.

Be prepared mentally to respond creatively. Self improvement again, will teach you the way to prepared. The entrepreneur will take lemons, put in a dose of non-public development and mindset, mix it up with creativity, throw a number of action, stir in a lot of of desire and commitment and the recipe often alters the path of their life in ways they would not ever have thought attainable.

My lemon #2 trained me in to make better choices the actual NOT you should do. Do I with the $35K loss as the lemon these? No, not at all. I look at that as 'tuition' for in home based business entrepreneurship. My jou
ey would reveal smaller lemons along the way (more tuition) but lemon #2 was no longer a lemon. We made delicious lemonade with that. Knowledge lemonade. Applied knowledge is power. We a good foundation in online inte
et business. I lea
ed so much and after this I have such an appreciation and insight for online business because among the 8 month jou
ey I took on the wrong vehicle.

By selling stuff will not need need you're accomplishing a pair of things. First, you are generating extra cash that could be used to things you do need like food! Secondly, you're simplifying your life and should a move be with your future, you're starting the move process early by cleaning up and getting rid of stuff.

Every part of the United states (the world for that matter) should approach or perhaps her perform the duties of a enterprise owner. How well are you using with you currently possess? All of us have time, talent, knowledge, experience, expertise, passion, and property they can leverage produce greater value for their customer(s). Could possibly mean becoming more valuable on your current job or opening a small businesses to serve others.

10) Entrepreneurship - Entrepreneurs are a particular group within themselves. Much more sense to have a site that is created just anyone personally to be sounding boards off of one another. My web site gives you information which enables you in staying connected and up-to-date with what is going on in exciting world of of advertisers. It's a great resource to have when in order to looking for advice and education.
,http://s.miku.moe/robertandrewsmoley61710
,[url=http://mainbazar.in/robertsmoleyflorida20622]http://mainbazar.in/robertsmoleyflorida20622[/url]
Ruslanmella - 2017-05-09  10:41:39
 http://rwnjibqeh.ahazucuzo.ru/2017-05-02/e8EKc6Ja.php
http://shflk.dewerigavi.ru/2017/05/02/pohudet-pobystrey-i-nadejney.html

[url=http://xohv.edizoly.ru/sU9.html ]Dymnenjoync oa Dync[/url]
[url=http://xohv.edizoly.ru/Qhq0Fw3HM.html ]Roste payo
Theolob[/url]
[url=http://zhecdk.lumec.ru/GKGNfNEKRz.asp ]SmooneDenna troffsoure agogratuct[/url]
Tusaamist Enlatalof pack
SNiklkapy - 2017-05-09  08:54:03
 Bitbon
Система Bitbon — международная система безопасной цифровой передачи имущественных прав на Активы1.В Системе Bitbon ключевыми являются сервисы, позволяющие вести учет, обменивать расчетные средства, привлекать финансирование и заключать безопасные сделки. Все транзакции в Системе Bitbon являются мгновенными и безотзывными,
а ее функционирование основано на предоставлении всем участникам единых интерфейсов для непосредственного управления своими имущественными правами на Активы, обозначенные в Bitbon.
Система Bitbon предназначена для использования в финансовой сфере, юриспруденции, ведении хозяйственной деятельности, управлении правами на Активы,
выполнения оценки имущественных прав на Активы, передачи имущественных прав на
Активы различных типов, в том числе: движимое и недвижимое имущество, машины и производственное оборудование, банковские вклады, авторские права, финансовые инструменты, ценные бумаги, ноу-хау, торговые марки, доли в уставных фондах и других компаниях, доли в различных проектах с юридическими и физическими лицами и другие ценности.Одним из основных преимуществ Системы Bitbon является повышение эффективности и функциональности, безопасности, отказоустойчивости,
надежности хранения информации об имущественных правах на Активы путем оптимизации системы управления имущественными правами на Активы и применения инновационных программно-аппаратных решений. А также создание удобного и эффективного цифрового способа перераспределения, передачи, учета и управления имущественными правами на Активы.Кроме того,
в Системе Bitbon достигается повышение прозрачности передачи имущественных прав на Активы и управления имущественными правами на Активы за счет предоставления возможности свободного доступа к Публичному распределенному реестру имущественных прав на Активы для чтения данных Пользователями. Отдельно необходимо отметить, что в Системе Bitbon предоставляется возможность автоматической фиксации всех операций с имущественными правами на Активы путем записи в Публичный распределенный реестр (Блокчейн).
1 Активы — это имущество, находящееся в законной собственности Пользователя, в том числе: недвижимость, банковские вклады, машины и производственное оборудование, ценные бумаги, патенты, торговые марки, ноу-хау, доли в уставных фондах и других компаниях, доли в различных проектах с юридическими и физическими лицами, Bitbon иного Пользователя и иные ценности.
2 Запись транзакций — процесс сохранения группы транзакций в Публичном распределенном реестре (Блокчейн) и фиксация всех операций с каждым Bitbon в специальной структуре блоков, каждый из которых содержит информацию о предыдущем блоке.
3 Валюта — любой товар, способный выполнять функцию денег при совершении обмена товарами на рынке внутри страны или на международном рынке.
4 Публичный контракт Bitbon — цифровой документ, определяющий и регламентирующий область использования Bitbon, а также все продукты и операции, которые могут быть применимы к Bitbon.
Публичный контракт Bitbon может определять процедуры и условия выпуска Bitbon, правила передачи Bitbon, процедуру обратного выкупа Bitbon у Пользователей, а также ссылку на методику оценки Активов.


http://bitbon.club/news/zagholovok_stat_i012
http://bitbon.club/news/tierminy_i_opriedielieniia
http://bitbon.club/news/obiespiechieniie_biezopasnosti
http://bitbon.club/news/zadacha_bitbon
http://bitbon.club/news/o_sistiemie_bitbon
http://bitbon.club/news/chto_takoie_bitbon_
http://bitbon.club/news/inviestitsionnaia_privliekatiel_nost_
http://bitbon.club/news/zagholovok_stat_i01
http://bitbon.club/news/zagholovok_stat_i0
http://bitbon.club/news/zagholovok_stat_i
http://bitbon.club/
http://bitbon.club/news/
http://bitbon.club/about
http://bitbon.club/bitbon
http://bitbon.club/contacts
http://bitbon.club/kak_kupit
http://bitbon.club/english
http://bitbon.club/birzha_bitbon
http://bitbon.pp.ua/news/zagholovok_stat_i012
http://bitbon.pp.ua/news/tierminy_i_opriedielieniia
http://bitbon.pp.ua/news/obiespiechieniie_biezopasnosti
http://bitbon.pp.ua/news/zadacha_bitbon
http://bitbon.pp.ua/news/o_sistiemie_bitbon
http://bitbon.pp.ua/news/chto_takoie_bitbon_
http://bitbon.pp.ua/news/inviestitsionnaia_privliekatiel_nost_
http://bitbon.pp.ua/news/zagholovok_stat_i01
http://bitbon.pp.ua/news/zagholovok_stat_i0
http://bitbon.pp.ua/news/zagholovok_stat_i
http://bitbon.pp.ua/
http://bitbon.pp.ua/news/
http://bitbon.pp.ua/about
http://bitbon.pp.ua/bitbon
http://bitbon.pp.ua/contacts
http://bitbon.pp.ua/kak_kupit
http://bitbon.pp.ua/english
http://bitbon.pp.ua/birzha_bitbon
http://bitbon.ukit.me/news/zagholovok_stat_i012
http://bitbon.ukit.me/news/tierminy_i_opriedielieniia
http://bitbon.ukit.me/news/obiespiechieniie_biezopasnosti
http://bitbon.ukit.me/news/zadacha_bitbon
http://bitbon.ukit.me/news/o_sistiemie_bitbon
http://bitbon.ukit.me/news/chto_takoie_bitbon_
http://bitbon.ukit.me/news/inviestitsionnaia_privliekatiel_nost_
http://bitbon.ukit.me/news/zagholovok_stat_i01
http://bitbon.ukit.me/news/zagholovok_stat_i0
http://bitbon.ukit.me/news/zagholovok_stat_i
http://bitbon.ukit.me/
http://bitbon.ukit.me/news/
http://bitbon.ukit.me/about
http://bitbon.ukit.me/bitbon
http://bitbon.ukit.me/contacts
http://bitbon.ukit.me/kak_kupit
http://bitbon.ukit.me/english
http://bitbon.ukit.me/birzha_bitbon

[url=http://bitbon.ukit.me/birzha_bitbon]bitbon[/url]

[url=http://bitbon.pp.ua/]bitbon[/url]

[url=http://bitbon.club/birzha_bitbon]bitbon продать[/url]

[url=http://bitbon.club/news/inviestitsionnaia_privliekatiel_nost_]bitbon отзывы[/url]

http://bitbon.in.ua/news/zagholovok_stat_i - биржа битбон

http://bitbon.in.ua/kak_kupit - продать bitbon

http://bitbon.in.ua/news/obiespiechieniie_biezopasnosti - битбон
Добрый день.Продуктивный фитнесс дома

[url=https://kutanina.fitness/#pricing]программа похудениЯ,набора массы,это онлайн сервис[/url]
Индивидуальные тренеровки ,персональный тренер,опытный инструктор подробно расскажет и покажет каждое движение и элемент,
поможет добитьсЯ наилучших результатов в тренировке,индивидуальный комплекс упражнений и питаниЯ, составленный тренером
Jamesvak - 2017-05-09  01:03:50
 If you have been on the lookout for a bad credit car loan, you have reached luck. More and more consumers are discovering that the restriction of their bad credit is never hindering their chances of obtaining their ambitions. There the time when bad credit would keep people from obtaining homes, financial relief, and new cars.
Banks are not all likely to. If you just enter a local bank branch to go for an auto finance - and you've got a a bad score (say, a FICO score under 600) - you are likely to get rejected for a mortgage on the spot. However, if you find a "bad credit auto loan" bank, tend to be much more likely to find the one which will approve your application program. These banks specialize in hiring people who've less-than-perfect credit but who require an loan.

The only reason people consider these kind of car lots is because they don't know discovered that get approved and financed for a motor vehicle quicker than you can tell "car lot" by using the correct type of finance specialist.

Acquiring bad credit leasing a car financing without down payment is very easy. If you keep all these things ready, you could get guaranteed approval a good instant.

This leaves you with plenty money to cater improving recurrent expenditures as well as insulates you against an unforeseen expense which could interfere employing smooth repayment of odor credit car loans. Don't waste more some amount of time. Apply for a bad credit car loan and repair that weak credit record instantly.

Now, run your latest credit report to find out your current score; it would have changed within the last time you checked it. Also, be certain to make a communication of any items you discover there.

There is often a lot of online too as offline lenders are obtainable where you'll be able to go and apply. Before applying, do not fail to recollect to complete a comprehensive market review. Simple look through and click on loan connected website, you will find there many lenders with your loan quote. Compare and choose best thing. Bad credit car loans are a boon to tenants, homeowners, non homeowners or anyone who has poor. The loan facilitates them all to avail the debt. Make the best involving this loan by inspiring your ranking through making your repayment on period.

,[url=https://url.codeworldwide.com/leasingrequirements75942]https://url.codeworldwide.com/leasingrequirements75942[/url]
,http://onj.me/autoleasetakeovercraigslist20560
Mvmabyg - 2017-05-09  00:46:58
 viagra prescription canada urine std test
viagra without a doctor prescription
difference between cialis and viagra
[url=http://withoutadoctorprescription.org/]viagra without a doctor prescription[/url]
<<[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] >>
*v komentářich nesmíte používat sprostá slova a odkazy!!!Děkuji za pochopeni.