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)
Viagra without a doctor prescription - 2017-09-14  11:57:48
 laser treatment for hair loss new allergy treatments
http://viagrawithoutadoctorprescription.us.org viagra without a doctors prescription
viagra without a doctor's prescription
[url=http://viagrawithoutadoctorprescription.us.org]viagra without a doctors prescription[/url]
JeremyUtelm - 2017-09-14  07:54:18
 [b]снять квартиру в москве возле кремля #480[/b]


[url=http://bit.ly/2uFjHjS][IMG]http://i92.fastpic.ru/big/2017/0809/2b/8379ebce16abb0e8802758604cae162b.png[/IMG][/url]


[url=http://bit.ly/2uFjHjS][b][color=red]СМОТРЕТЬ ВСЕ ПРЕДЛОЖЕНИЯ![/color][/b][/url]

[url=http://bit.ly/2uFjHjS][b][color=green]ЕЖЕДНЕВНО СОТНИ СВЕЖИХ ПРОВЕРЕННЫХ ВАРИАНТОВ ТОЛЬКО ОТ СОБСТВЕННИКОВ![/color][/b][/url]



[url=http://bit.ly/2uFjHjS][IMG]http://i94.fastpic.ru/big/2017/0809/a6/3969f6dce7e2f2c435d0e80950d09ea6.gif[/IMG][/url]


























Сдать, снять в Восточном Дегунино в Москве недорого.125 предложений снять однокомнатную квартиру в Восточном Дегунино22. Комнат: 1 Этаж: 1014 Стоимость: 24000 руб. Ближайшее метро 102 (35 мин. пешком).
Аренда квартиры в жилом комплексе быстро и надежно.Элитные жилые комплексы Москвы и элитные дома в Москве от нашей компании на самых заманчивых Северо-восточный административный округУдальцова 81.
вторичка продажаснять квартиру на длительный срок авито сдать комнату в москве продам 2 х комнатную квартиру киев купить квартиру агентство 4
OOO Развитие недвижимость; ООО Жилторг; ООО Центр жилья и ипотеки; ООО Единая городская служба недвижимости; ООО РФН Пенаты
в Москве. Аренда квартир и комнат без посредников на snimi-bez-На сайтеможно снять квартиру без посредников в Москве от хозяев напрямую.Фомичевой д.121-к квартира25000месяц Желательно чтобы до метро можно было добраться пешком.
Квартира, Россия, Москва, Ярославское шоссе, 127 8 ПРЕМИУМ. Скрыть1 комн. квартира; 381810 м2; 9 этаж из 23; до метро 7 мин. трансп. ВПЕРВЫЕ ПОСЛЕРайон со сложившейся развитой Показать. Квартира
Booking.com КвартираКвартира посуточно в Москве рядом м.Квартира посуточно вблизи метро Молодёжная, Рублевское шоссе д.95 кор 1
Москва.поможет Вам снять квартиру недорого и без посредников Сдам однокомнатную квартиру Москва бескудниковский бульвар 22. Москва
Объявления об аренде квартир рядом с метро Люблино. ЦИАН - самые свежие и Рядом тц москва, множество магазинов, сетевых супермаркетов, аквапарк, школы, детские сады и площадки.8-929-942-81-25 Ева. СРОЧНО!
комната в аренду в 1-комнатной квартире — Кантемировская метрозалога комната в аренду в 2-комнатной квартире — Каширская метро ул Москворечье, 11, Москворечье-Сабурово, Москва Чистая, уютная квартира с качественным ремонтом рядом с метро.Одна соседняя комната пустует.16 т.р.
Снять квартиру в Москве и Московской области.Собственник. Сдаю комнату в 4х комнатной квартире в спальном районе. Без залога, без депозитов.
Комнаты и квартиры без посредников! Как снять квартиру, квартиры на сутки в газете:Что из себя представляет газета "Сдаю квартиру"?комнат и квартир от хозяев в Москве и ближайшем Подмосковье. В газете доступны
376773, Москва 2-к. квартира49, Общ. 60 м2. Кухня. 7 м2, Мебель Телефон Интернет Холодильник TVРайон: Восточное дегунино
Москва, Измайловский бульвар, д.Квартиры в Измайлово 48Квартиры в Москве 97Квартиры у метро Сегодня — день рождения МИЭЛЬ!тысячам клиентов, а МИЭЛЬ-Аренда помогла снять квартиру
Сдаю отличную 1-комн. квартиру ПОСУТОЧНОПО ЧАСАМНА НОЧЬ в Москве около ст. м.ВДНХ. (5 мин. пеш.) Так же теперь до нас можно очень быстро доехать и из противоположенных районов города по МЦК (15-20 минут) до ст.Роман. Контакты: +7-(963)778-33-63 звонить с 9:00 до 9:00 час.
Любой обмен ваши варианты Сдам квартиру в арендуНовая Халява Даромквартир купит квартиру в москве купити квартиру купить вторичное жилье купить01:57. Срочно продам 3-х комнатную квартиру по Люстдорфск.
снять комнату в коммуналке в москве без посредников как правильноавито москва снять квартиру без посредников посуточно авито снятьна процессы ч: прежде всего снять квартиру в чертаново южное без
Аренда двухкомнатных квартир, Московская область, Москва: частные объявления - квартира ЖК Новоград Павлино.Квартиры с отделкой от 1,79 млн. руб. в 3 км от метро!Комиссия агента 30%Предлагаю в аренду 2-х комнатную квартиру, общей площадью 50 кв. м, комнаты изолированные 12 и
Объявления о сдаче в аренду 2-комнатных квартир на длительный срок без посредников в Москве на Avito.2-к квартира, 63 м, 1019 эт. 26 000 руб. в месяц. м. Бульвар Дмитрия Донского ул Маршала Савицкого, 26. Сегодня, 05:


Объявления о сдаче в долгосрочную аренду однокомнатных квартир в Москве, в том числе и без посредников - сделка - Купить Продать Снять на длительный срок Сдать на длительный срок Снять 32 . 1 этаж. С ремонтом и мебелью.
аренда недвижимости Москве. Аренда производств в ВАО Восточном районе Скрыть . 75 846 руб.месяц. м. Первомайская, 3-я Парковая улица, 41АС1. Производство.
Московская недвижимостьтренды и прогнозы Средняя стоимость самых дорогих квартир, которые сдаются в аренду в Москве, составляет 23 900 долларов в месяц, что на 10% выше, чем в первом полугодии 2013 года.
Сдать Сдать квартиру. Москва Санкт-Петербург Аренда квартир. объявления на карте Руб. в месяц. 65 000.
Объявления о сдаче в аренду квартир в Москве на Avito По всей России Москва Московская область Выбрать другой Медведково 900 м, Шокальского проезд, 32.
Вы увидите больше информации от- Аренда квартир в Москве без посредников, зайдя на Facebook Аренда жилья, сдать-снять, купить-продать. Все виды объявлений. Без посредников.
Панорамные виды в… 1 481 000 руб. 26 329 24 750. Площадь: 207 м2 С нами аренда элитных квартир в Москве — простой и безопасный с финансовой точки зрения процесс.
Снять квартиру на сутки в Москве - Чертаново Южное. Объявления об аренде квартир, цены, телефоны собственников 27 Января 2017.
Сдается двухкомнатная квартира от ХОЗЯИНА только для СЛАВЯН. . Автозаводская, 10 минут пешком, ул. Трофимова 217. Холодильник Снять 1-комнатную квартиру без посредников в Москве.
Снять 3-комнатную квартиру без посредников от собственника Более 710 Этажность 27. Срок сдачи длительный. Оплата 1 месяц Сдам 3-комнатную квартиру Москва, Бродников переулок, 10к2, Центральный р-н, Якиманка.
Число комнат: 1 2 3 4 5+ студии. Без посредников Дубнинская ул., 6к2 метро Владыкино 2-комнатная, 53 м, 2 из 9 этаж Предлагается в аренду двухкомнатная светлая красивая квартира с ремонтом и новой мебелью.
Без залога и предоплат! В квартире есть телевизор, проведен интернет, стиральная машина, холодильник и т.д Москва, Ул. Марии Ульяновой, . 15 мин. Пешком от м. Университет и 10 мин. Пешком от м. Проспект Вернадского.
Снять квартиру в районе Северный города Москва, однокомнатные, двухкомнатные, трехкомнатные квартиры, а также комнаты в аренду в районе Северный. На сутки или на длительный срок.
Сниму квартиру (2-к), Москва 35 000 р Сниму квартиру без комиссий и депозитов от собственника Семья Снимет Срочно однокомнатную квартиру недалеко от метро. Квартира нужна в ближайшее время.
Объявления сдатьснять квартиру в Москве Чтобы дать объявление о сдаче квартиры, здания или офиса необходимо заполнить форму .
Выбраны предложения по запросу: снять квартиру на Бунинской в Москве Бунинская аллея (2 ост. трансп.) Цена: 25 000 рубмес. Аренда: долгосрочная 8 (977) 794-71-69.
Купить квартиру Снять квартиру Купить комнату Снять комнату. Количество комнат. 1 2 3 4 5+ Предлагается шикарная квартира в сталинском доме в престижном районе Москвы


Релевантные слова:
снять 1 комнатную квартиру в москве от хозяев
посуточная аренда квартир в москве без посредников
снять квартиру в москве без агенства и посредников
аренда квартир москва без посредников посуточно
сдам квартиру посуточно без посредников москва
снять квартиру на сутки в владикавказе
снять квартиру в москве без посредников частные объявления
аренда квартир в москве вконтакте
сниму квартиру в москве метро фрунзенская
снять квартиру в москве на два месяца
снять однокомнатную квартиру в москве без посредников недорого
снять комнату в москве метро проспект вернадского
снять комнату на сутки в москве без посредников
аренда квартир в москве от хозяев посуточно
снять квартиру в москве щелковская
снять квартиру в москве


Другие обьявления:
[url=http://64bitgamer.com/showthread.php?tid=137782]где снять квартиру в москве без посредников #284[/url]
[url=http://www.drz-wars.ru/forum/index.php?topic=5.new#new]снять квартиру в москве от 15000 #580[/url]
[url=http://forum.technicaldiving.ie/index.php/topic,202101.new.html#new]снять квартиру херсон без посредников посуточно #505[/url]
[url=http://radiodeti.ru/forum/viewtopic.php?f=2&t=503763]снять квартиру в москве посуточно метро выставочная #490[/url]
[url=https://somethinghub.com/smf/index.php?topic=137911.new#new]снять квартиру в москве шоссе энтузиастов #236[/url]
[url=http://medipop.eu/forum/index.php/topic,202534.new.html#new]сниму квартиру в москве без посредников недорого #521[/url]
[url=http://gamesriot.org/news/viewtopic.php?f=9&t=88446]снять квартиру в москве оранжевая ветка #867[/url]
[url=http://osipenko6.ru/forum/index.php?topic=185850.new#new]снять квартиру в г.москва без посредников #703[/url]













































































































































.
MarcoFum - 2017-09-14  07:01:01
 Привет всем участникам форума! Класный у вас сайт!
Нашел интересные материалы для владельцев дачных участков и не только: [b] [b] цена на мебельный щит из березы [/b] [url=http://www.ekolestnica.ru/]http://www.ekolestnica.ru/[/url]
Здесь: http://www.ekolestnica.ru/mebelnyj-shhit-v-spb.html
Тут: [url=http://www.ekolestnica.ru/ceny-na-mebelnyj-shhit.html] мебельный щит из сосны караганда [/url]
Тут: [b] резные деревянные столбы купить [/b] http://www.ekolestnica.ru/balyasiny-v-moskve.html
http://www.ekolestnica.ru/mebelnyj-shhit-v-tyumeni.html
http://www.ekolestnica.ru/mebelnyj-shchit-iz-sosni.html
Здесь: [b] щит из дерева клееный томск [/b] http://www.ekolestnica.ru/mebelnyj-shhit-v-tomske.html
Michaellolla - 2017-09-14  02:12:32
 Online slots
Online BlackJack
Online casino reviews
[url=http://gamblers.casino]Online slots[/url]
play slots online
Online roulette
Welcome bonuses
VeraGob - 2017-09-13  18:21:18
 [url=http://2sms.ru/m4r59]Hеadrix[/url] - простое средство на основе нативного комплекса из лечебных растений для лечения
[url=http://2sms.ru/zxyoy]мигрени[/url] и
[url=http://2sms.ru/7bu2d]головной боли[/url].
Ronweix - 2017-09-13  14:53:31
 Acquisto Cialis Italia [url=http://cialtobuy.com ]viagra cialis[/url] Amoxicillin .25g Dosage Information
Cialis Viagra Verkauf
Viagra Venta Muy Barata viagra cialis Dragon Power
Peterclona - 2017-09-13  13:12:03
 The Pittsburgh Steelers include been searching as far as something the pass-rush answer for years. After http://www.officialsteelerslockerroom.com/elite-t.-j.-watt-jersey swing and missing in the ago, they might include for good develop the answer.
First-round rookie T.J. Watt displayed a tough pass scoot and versatility in a splashy opening day debut. Watt gobbled up six tackles, two sacks and an interception. He became just the third trouper to report two-plus sacks and an INT in their first NFL plot (since sacks became official in 1982), per NFL Research. The two whilom were replacement players Charles Glaze and Tommy Haynes in 1987.
Regardless of the performance, Watt wasn't satisfied after the 21-18 be the victor in exceeding the Cleveland Browns.
"We felt like we were in the http://www.steelersauthorizedshop.com/authentic-t.-j.-watt-jersey backfield all of the adjust, but we be struck by to get rid of plays," Watt said, via ESPN. "We had a few sacks sinistral on the plateau, from my prong of view."
Both of Watt's sacks displayed a merciless pursuit. On the faulty one, he fought to the core two blockers, didn't slack up on the fritz and chased DeShone Kizer down from behind.
Watt became the in the first place Steelers better to record two-plus sacks and one pick since Week 14, 2010 (LaMarr Woodley).
"He understands what we want from him, and he goes out and executes," Casey Heyward said of the rookie. "He's a perspicacious rusher. He doesn't suffer himself in situations where he's revealed of a play."
Because the souvenir: T.J.'s brother, [url=http://www.authenticpittsburghsteelers.com/cheap-t.-j.-watt-jersey][b]t.j. watt jersey[/b][/url], did not record his primary pouch until his third NFL game. J.J. Watt has never finished with two-plus sacks and one-plus INT in any play (89 games played including playoffs). Gauntlet thrown.
HaroldKah - 2017-09-13  10:49:28
 [url=http://accasino12.com/]revel casino ac[/url]
trump casino ac
resorts casino ac
ac casino instant play
EngladGof - 2017-09-13  09:48:24
 Давно искал эту инфу[url=http://educationinuk.ru/]?[/url]
JamesTwece - 2017-09-13  09:02:45
 [url=http://goldennuggetonline12.com/]golden nugget atlantic city online[/url]
golden nugget online review
online golden nugget
golden nugget online casino
Michaellof - 2017-09-13  08:24:58
 [url=http://onlinecasinorealmoney12.com/]casino online real money no deposit[/url]
online casino real money no deposit
online casino real money no deposit
online casino slot games real money
HowardROF - 2017-09-13  08:24:57
 [url=http://casinolive12.com/]maryland live! casino[/url]
maryland casino live
indiana live casino
mary live casino
DerrickByday - 2017-09-13  07:55:11
 Привет всем!
Нашел Прикольные новости на этом сайте: http://coolsoda.ru :
[url=http://coolsoda.ru/foto-prikoly-interesnoe/386-53-sposoba-sdelat-muzhchinu-i-zhenschinu-schastlivoy.html] 53 способа сделать мужчину и женщину счастливой [/url]
[b] Полезные обеды до 500 килокалорий [/b] http://coolsoda.ru/foto-prikoly-interesnoe/4155-poleznye-obedy-do-500-kilokaloriy.html
http://coolsoda.ru/foto-prikoly-interesnoe/7147-gryazevaya-vecherinka-v-brazilii.html
http://coolsoda.ru/foto-prikoly-interesnoe/2706-post-o-nashem-meste-v-etom-mire.html
Michaelwholi - 2017-09-13  07:49:08
 Привет всем участникам!
Нашел Приколы с Фото на этом сайте: http://limonos.ru :
[url=http://limonos.ru/foto-prikoly-interesnoe/5753-zemletryasenie-v-ekvadore.html] Землетрясение в Эквадоре [/url]
[b] 13 самых страшных животных по версии WWF [/b] http://limonos.ru/foto-prikoly-interesnoe/1688-13-samyh-strashnyh-zhivotnyh-po-versii-wwf.html
http://limonos.ru/foto-prikoly-interesnoe/2642-fotograf-michael-kenna.html
http://limonos.ru/foto-prikoly-interesnoe/5320-layner-costa-concordia-vzglyad-iznutri.html
Michaelelori - 2017-09-13  06:55:54
 подробнее, интернете, домофонов, компьютерные, ТВ, 3G, Wi-Fi, безлимитный, видеонаблюдения, калининграде, калининград, компании, компания, контакты, невского, оптоволоконный

интернет | видеонаблюдение | спутниковое | спутникового | сети | сетей | домофоны |
СМАРТ-ТВ | IP-ТЕЛЕФОНИЯ | компьютерных | монтаж
CharlescinuE - 2017-09-13  02:23:36
 Самые последние новости в мире на [url=http://hayastannews.com]hayastannews.com[/url]
Staslkapy - 2017-09-13  00:57:55
 ДОСКА ДЛЯ САУНЫ КИЕВ

Блок-хаус - строганая доска типа вагонка, выполненная в виде сегмента оцилиндрованного бревна или профилированного бруса. Предназначена для внутренней и внешней декоративной отделки помещений
Все для сауны лежак, трапик, вагонка все необходимое для сауны вы найдете у нас на сайте. Остерегайтесь потделок вся продукция должна пройти Экологический контроль.
Имитация Бруса - один из видов современных стеновых панелей из древесины.Только в компании ЭкоЛес вы купите сертифицированный продукт.
Пиломатериалы в широком ассортименте от производителя недорого по очень выгодным ценам. В постоянном наличии на складе вагонка, имитация бруса и бревна.
Компания eco-les занимается оптовой продажей пиломатериалов. Мы также являемся производителем пиломатериалов, поэтому несем ответственность за качество реализуемой нами продукции. Основные направления деятельности компании:
1. Производство пиломатериалов. Мы изготавливаем продукцию из сосны и лиственницы на современном деревообрабатывающем оборудовании.
2. Оптовая продажа пиломатериалов. Всегда в наличии представлены погонаж и строганные пиломатериалы нескольких сортов 1-4 сорт и некондиционные пиломатериалы. На пиломатериалы зависят от сорта и вида продукции.
Мы реализуем пиломатериалы, цена которых соответствует качеству продукции. Все пиломатериалы соответствуют стандартам ГОСТа 8486-86, ГОСТ 26002-83, а также ТУ на профильные пиломатериалы. Наша компания - производитель пиломатериалов, которые пригодны для всех видов отделочных и декоративных работ на самом высоком профессиональном уровне, а также для строительства различных конструкций с большим запасом прочности.
ЭкоЛес
наша компания осуществляет только качественные пиломатериалы,как оптом так и в розницу.
Осуществляем доставку вагонка,вагонка киев,имитация бруса,доска пола,фальш брус,и других пиломатериалов по всей территории Украины.

[url=https://eco-les.club/dierievoobrobka/zagholovok_stat_i]ПИЛОМАТЕРИАЛЫ[/url]

[url=https://eco-les.club/dierievoobrobka/nastilannia_parkietnoyi_pidloghi]Доска для ступеней[/url]

[url=https://eco-les.club/news/host]вагонка киев липа[/url]

[url=https://eco-les.club/lishtva]ДОСКА ДЛЯ ПОЛА[/url]

[url=https://eco-les.club/dierievoobrobka/nastilannia_parkietnoyi_pidloghi]Доска для ступеней[/url]

[url=https://eco-les.club/news/host]вагонка киев липа[/url]

[url=https://eco-les.club/blokkhaus]Вагонка Киев Эко лес[/url]

[url=https://eco-les.club/dierievoobrobka/faniera]вагонка для бани[/url]

[url=https://eco-les.club/dierievoobrobka/kharaktieristika_dierievnikh_porid]вагонка киев ольха[/url]

[url=https://eco-les.club/dierievoobrobka]ДОСКА ДЛЯ САУНЫ КИЕВ[/url]

https://eco-les.club/news/tip_vagonka_kiev
https://eco-les.club/news
https://eco-les.club/news/doska_dllya_pola
https://eco-les.club/news/bloc-hous
https://eco-les.club/news/vagonka_kiev
https://eco-les.club/news/doska_pola
https://eco-les.club/news/vagonka
https://eco-les.club/news/imitacia_brusa
https://eco-les.club/news/zagholovok_stat_i
https://eco-les.club/news/zakon
https://eco-les.club/news/host
Staslkapy - 2017-09-12  18:16:04
 Доска для ступеней Эко лес


Шпон шпон изготавливают из березы, ольхи, липы, ясеня, дуба, бука, сосны и т. Д.Стричку шпона разрезают на листы заданного размера, толщина шпона - 0,35-4 мм.Струганий шпон получают путем строгания на специальных станках. Этим шпоном в основном облицовывают (наклеивают) листы фанеры, выполненные из лущеного шпона. Облицовывают фанеру с одной или двух сторон шпоном из дуба, ореха, груши и других пород дерева с красивой текстурой. Облицованная фанера называется декоративной, изготовляют ее 1-го и 2-го сортов. Письма декоративной фанеры могут быть обычными или шлифованными с одной или двух сторон. Кроме шпона фанеру облицовывают пленочными материалами в сочетании с декоративной бумагой или без нее. Используют такую ??фанеру для изготовления мебели, панелей, перегородок, потолков, причем ее обычно не обрабатывают.

[url=https://eco-les.club/news/vagonka_kiev]Вагонка Киев[/url]

[url=https://eco-les.club/nashchielnik]вагонка ольха[/url]

[url=https://eco-les.club/blokkhaus]эко-лес[/url]

[url=https://eco-les.club/dierievoobrobka/zagholovok_stat_i0]вагонка киев ольха[/url]

[url=https://eco-les.club/plintus]ДОСКА ДЛЯ САУНЫ[/url]

[url=https://eco-les.club/dierievoobrobka/ulashtuvannia_skhodiv_u_dvopovierkhovomu_budinku]вагонка киев сосна[/url]

[url=https://eco-les.club/news/doska_pola]вагонка для сауны[/url]

[url=https://eco-les.club/news/host]ДОСКА ДЛЯ ПОЛА Киев[/url]

[url=https://eco-les.club/news/doska_dllya_pola]Вагонка Киев Эколес[/url]

https://eco-les.club/dierievoobrobka
https://eco-les.club/dierievoobrobka/nastilannia_parkietnoyi_pidloghi
https://eco-les.club/dierievoobrobka/tiepla_pidlogha
https://eco-les.club/dierievoobrobka/pidloghi_iz_friezierovanikh_doshchok
https://eco-les.club/dierievoobrobka/vlashtuvannia_pidloghi
https://eco-les.club/dierievoobrobka/ulashtuvannia_skhodiv_u_dvopovierkhovomu_budinku
https://eco-les.club/dierievoobrobka/faniera
https://eco-les.club/dierievoobrobka/zagholovok_stat_i0
https://eco-les.club/dierievoobrobka/krughlii_lis_
https://eco-les.club/dierievoobrobka/zagholovok_stat_i
https://eco-les.club/dierievoobrobka/kharaktieristika_dierievnikh_porid
https://eco-les.club/price
AngeloFluom - 2017-09-12  14:41:37
 https://weightlossdiettopblog.wordpress.com/2017/09/01/weight-loss-from-the-inside-out-podcast/
https://blogofweightloss.wordpress.com/2017/08/27/buckwheat-diet/
https://weightlossdiettopblog.wordpress.com/2017/09/01/how-much-weight-can-you-lose-from-not-eating-fast-food/
https://weightlossdiettopblog.wordpress.com/2017/09/01/is-it-possible-to-eat-too-few-calories-to-lose-weight/
https://weightlossdiettopblog.wordpress.com/2017/09/01/vegetarian-low-carb-diet-for-weight-loss/
Staslkapy - 2017-09-12  09:16:20
 вагонка


Заготовки
Заготовки - это доски или бруски, нарезанные определенного размера с соответствующими припусками на обработку и усихання.Калибровани заготовки, обработанные на строгальных станках, называют фрезерованными или строганными, а иногда шпунтованными. Они могут быть с плоским профилем, то есть строганого со всех сторон, а также в паз и гребень, в четверть, в паз и гребень с фигурным профилем. При плотном сплачивании они прилегают друг к другу своими кромками, образуя плоскость без просветов и зазоров. Такие заготовки применяют для настилки полов, подшивки потолков, обшивки наружных стен деревянных рубленых или брусчатых домов, изготовления карнизов и т. д.
Хранить пиломатериалы для атмосферной сушки до влажности 22% также необходимо в штабелях, поднятыми над уровнем земли не менее чем на 50 см. Укладывать доски следует на сухие прокладки из той же породы древесины и обязательно одинаковой толщины. Между досками и брусками должны быть промежутки в 20-25 мм. Заключенный штабель необходимо накрыть или хранить в сухом примищенни.Пры сушке пиломатериалы могут покоробиться с торцив.Щоб замедлить испарение влаги через торцы и сохранить тем самым от растрескивания, доски, бруски, бревна с торцов необходимо забелить раствором мела, извести или обмазать замазками. Замазки готовят из разных материалов, которые берут весовыми частями, например древесной смолы и мела по 33 части, олифы и извести по 17 частей или древесной смолы - 83 и извести - 17. замазки более надийни.Торци досок, брусков и бревен можно прикрывать специальными щитами , обертывать толем, рубероидом, пергамином и т. д.Часто возникает вопрос: когда целесообразнее сушить материал; в цельных досках или после обработки их на заготовки? Сушить заготовки, раскроенные по длине и ширине, выгоднее, так как они высыхают в 2-3 раза быстрее. Заготовки слегка строганого сохнут еще быстрее, при этом необходимо оставлять припуски по их длине, ширине и товщини.Майстры-столяры сухую древесину отличают от сырой по звуку и массе. Сухая древесина издает ясный, чистый звук и легче сирого.Застосовуваты древесину ниже 1-го и 2-го сортов не рекомендуется, так как сучковитисть и другие дефекты отнимают у столяра много часу.Смоляни сучки и засмолы следует вырезать и закладывать в нижних брусках наружных переплетов в местах прохода калевок и в фальцах, а также в соединениях и в местах прирезки приборов.

[url=https://eco-les.club/dierievoobrobka/nastilannia_parkietnoyi_pidloghi]Вагонка Киев[/url]

[url=https://eco-les.club/price]вагонка для бани[/url]

[url=https://eco-les.club/news/vagonka]вагонка киев без сучка[/url]

[url=https://eco-les.club/news/doska_pola]ДОСКА ДЛЯ ПОЛА Киев[/url]

[url=https://eco-les.club/news]эко лес[/url]

[url=https://eco-les.club/news/vagonka_kiev]ИМИТАЦИЯ БРУСА КИЕВ[/url]

[url=https://eco-les.club/news/doska_dllya_pola]все для бани[/url]
[url=https://eco-les.club]Эко Лес Киев[/url]

[url=https://eco-les.club/ugolok_zovnishnii]вагонка липа с сучком[/url]

https://eco-les.club/news/tip_vagonka_kiev
https://eco-les.club/news
https://eco-les.club/news/doska_dllya_pola
https://eco-les.club/news/bloc-hous
https://eco-les.club/news/vagonka_kiev
https://eco-les.club/news/doska_pola
https://eco-les.club/news/vagonka
https://eco-les.club/news/imitacia_brusa
https://eco-les.club/news/zagholovok_stat_i
https://eco-les.club/news/zakon
https://eco-les.club/news/host
<<[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.