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ářů(5000)
Jeffpoonia - 2017-09-23  23:36:51
 Propecia Side Effects Sperm Prescription [url=http://cialtobuy.com ]cialis[/url] Buy Doxycycline Doxycycline Online Giardiasis Treatment With Amoxicillin Provera In Germany Tablet With Next Day Delivery
VasiliBar - 2017-09-23  22:39:15
 [url=http://www.s-volvo.ru/zamena-remnya-grm.html] замена грм вольво s60 2. 4 и всех моделей Volvo, механики с большим опытом по ссылке [/url]
RayTOp - 2017-09-23  22:09:35
 [url=http://lol-life.ru/lol.png][img]http://lol-life.ru/lol.png[/img][/url]
Вы когда-нибудь слышали про игру Лига Легенд? Если нет советую вам попробовать!
Haroreab - 2017-09-23  20:51:13
 Viagra Brevetto Scadenza Best Pill Splitter Purchasing Viagra And Cialis [url=http://costofcial.com ]generic cialis[/url] Cialis With Priligy Zithromax Side Effects In Children
Jeffpoonia - 2017-09-23  16:36:23
 Viagra Verkauf Ohne Rezept [url=http://cialtobuy.com ]buy cialis[/url] Where To Order Amoxicilina Bacterial Infections In Inte
et isotretinoin where to purchase
Jeffpoonia - 2017-09-23  16:36:22
 Amoxicillin Cause Yeast Infections Viagra Kaufen Cialis Bestellen Viagra Forsale In Arizona [url=http://cialgeneri.com ]online pharmacy[/url] Propecia To Buy Propecia Viagra Generico Farmacia Andorra Tadalis Sx Online Kaufen
Jeffpoonia - 2017-09-23  16:36:22
 Amoxicillin Expiration Date Clomid Anabolic Steroids Isotretinoin With Next Day Delivery Cod Only [url=http://genericcial.com ]cheap cialis[/url] Cialis Sin Receta En Espana
Miguzese - 2017-09-23  16:14:23
 Comprar Cialis Autentica Achete Furosemide 40 [url=http://cialtobuy.com ]cialis buy online[/url] Macrobid How To Buy Tadalafil 20mg (Cialis) Cytoxan
Haroreab - 2017-09-23  10:20:01
 Cialis 20mg Filmtabletten 8 Stuck [url=http://cialtobuy.com ]online pharmacy[/url] Cialis Coupons
Louer Levitra Sans Ordonnance What Is Amoxicillin Good For
Buy Now Acticin Website Ups cialis Propecia Critica
Abnerhakew - 2017-09-23  03:06:45
 Добрый день.
Думаете привлечь новых клиентов в свой бизнес?
Продам полную базу предприятий по любому городу СНГ: http://seomaniya.com/3522-prodam-polnuyu-bazu-predpriyatij-po-lyubomu-gorodu.html
Viagra without a doctor prescription - 2017-09-23  02:51:58
 viagra without a doctor prescription family health plan [url=http://sildenafilwithoutadoctor.com/]generic viagra without doctor visit[/url]
Miguzese - 2017-09-22  23:22:43
 Ativan En Ligne [url=http://cialtobuy.com ]generic cialis[/url] Achat Kamagra France
Viagra Generique Vendu En France Le Prix Du Viagra Pharmacie Comparateur Prix Viagra Cialis
Wirkt Nicht Cialis Levitra cialis Mifepristone Et Misoprostol Prix
Tracees - 2017-09-22  21:28:14
 [url=http://kshop2.biz/t5n6LT]Скидки до 70%[/url]



[url=http://kshop2.biz/t5n6LT][img]http://s019.radikal.ru/i604/1709/b3/9076b01b4015.png[/img][/url]

[url=http://kshop2.biz/t5n6LT]Скидки до 70%[/url]
Canadian pharmacy - 2017-09-22  20:41:49
 outpatient treatment pain in joints
http://canadian-pharmacy.us.org canada pharmacy online
canadian drugstore
[url=http://canadianpharmacy.shop]canadian pharmacy[/url]
Jacobamomb - 2017-09-22  20:11:39
 [url=http://kreditohnebonitaet.org/25000-euro-kredit-ohne-schufa/5000-euro-kredit-ohne-schufa]5000 Euro Kredit ohne Schufa[/url] - Kredit ohne Schufa uber 50000 €, 2000 Euro Kredit trotz negativer Schufa
Jeffpoonia - 2017-09-22  19:53:24
 Synthroid Ove
ight Delivery [url=http://cialtobuy.com ]viagra cialis[/url] Discount Generic Hydrochlorothiazide
Antibiotics For Sale Online From Canada
Cialis Per Impotenza cheap cialis How To Last Longer Inbed
Haroreab - 2017-09-22  17:21:54
 Cheap Cialis Without A Doctor [url=http://cialtobuy.com ]generic cialis[/url] Canada Cephalexin
Diprosone Sans Ordonnance Rio Rico Pharmacy Canadian Rx Net Need Progesterone 100mg Tablets Quick Shipping
Gta generic cialis Generica Cialis
Haroreab - 2017-09-22  14:28:19
 Discount Doxycycline [url=http://cialtobuy.com ]cialis[/url] Cephalexin Side Effects Thirst China
Ove
ight Delivery Of Cealists Buy Fincar On Line
Can I Buy Plavix In Canada cheap cialis Veterinary Amoxicillin 250mg 5ml
Haroreab - 2017-09-22  14:15:11
 Cialis Viagra Vente En Ligne [url=http://cialtobuy.com ]cialis[/url] Vardenafil 20 Ml
Buy Retin A Uk Online Zithromax Cheap Minoxidil Propecia 1mg
100mg Viagra For Male And Female cheap cialis Mycobacterium Tuberculosis Amoxicillin Glam
KevinLom - 2017-09-22  13:50:54
 [b]снять квартиру в москве от владельца #182[/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]


























Снять на длительный срок квартиру в Дзержинском районе Волгограда. Объявления о Дзержинский район, 51-й Гвардейской ул.08:39.
Снять квартиру в районе Бутово Южное города Москва, однокомнатные,комнатная квартира Москва 38 ., стоимость 19000 руб, без посредников.
Цены на недвижимость в Москве, Новой Москве и Московской области Динамика цен на квартиры по районам и округам Москвы. Выберите. округ районUrban Group Элитные квартиры в Хамовниках. Садовые кварталы.
алых высоток. Квартиры и пентхаусы в ЖК Алые Паруса на берегу Москвы-реки.Квартира 511в ЖК Алые Паруса за 4,7 млн . Район Щукино.
БЕЗ ПОСРЕДНИКОВ в Москве Сдать Снять, КвартируКомнату, Аренда жильяДанный раздел сайта специально предназначен для аренды квартир и комнат в Москве.До метро Окружная 3 минуты электричкой или 5 минут на автобусе илиСдам койко-место в 2-х комнатной квартире.35 тыс. руб.
Объявления о сдаче в аренду комнат в Москве на Avito.Посуточно 2 027. По дате, Дешевле, Дороже. Все Частные Первомайская 500 м, 7 парковая. Агентствобез комиссии. ВойковскаякмКомната 13 м в 3-к, 712 эт. 9.
Аренда 4-комнатной квартиры, 135 м, Москва, проспект Мичуринский, 19 к 1. +7 (905) 760-XX-XXсегодня в 12:00; 95; Собственник30 000 pуб.
Любые варианты аренды квартир в Красноярске на сайте . Более 3000 ежедневно актуальных вариантов аренды жилья во всех районах города.Взлетная улица. 80. 25 000. . 1 комната. Красноярск. Северный.
Сообщение Концерн Энергомера Пн янв 14, 2013 6:06 amснять квартиру в москве на длительный сроккупить 4 х комнатную квартиру снять квартиру или комнату в москве разместить объявление о сдаче квартиры
Объявления о сдаче в аренду квартир у метро Выхино на Avito.30 000 руб. в месяц. 50 %. Выхино 1 км, Вешняковская улица, 31. Сегодня 00:41.
8 мар 2014 - 29 сек. - Добавлено пользователем 89637827108avito снять квартиру в москве.Сдам комнату без посредников за 6000рублей в месяц, +79312893965, Выра
Снимайте квартиры и комнаты без посредников в г.Объявление от Наталия - фото 1 Объявление от Наталия - фото 2 Объявление от( на 4 месяца ) сдам комнату в центре Метро Чернышевская Возле Таврического сада
Возможность недорого купить квартиру вторичного жилья Владивостока или продать ее без посредников, разместив бесплатное объявление.
Купить однокомнатную квартиру в Москве - цена 4,90 млн. руб. Продажа квартиры в Москве в САО, район Западное Дегунино, метро Речной вокзал, ул
Аренда квартир Дмитровское шоссе, без посредников, на длительный срок: 1Сдам 1 комнатную квартиру на длительный срок 38 . за 15000 руб, Москва,2 комнаты, площадь 48 общ32 жил7 кух м., этаж 9 панельный.
Молодая пара решила жить вместе и снять квартиру в Москве,В группах в ВК они наткнулись на группу https:vk.comonrealty и решили1:44:42. Revelation: Охота на Jesus AVGN. 534 537 просмотров. 00:15.
Объявления о продаже, покупке и аренде квартир без посредников в Сниму 3-к квартиру1-к квартира, 37 м, 35 эт.2-к квартира, 70 м, 49 эт. 10.
Аренда комнат на длительный срок3-Х Комнатнойбез меня ( без хозяина) Комната на Комната на им Димитрова 120, 13 м
Звоните +7 749 577 72977 аренда однокомнатной квартиры долгосрочно, хорошее состояние, 3 мин до м. Проспект Вернадского, улица 51, быстрый
Сдается койко место метро Автозаводская: для одного мужчины русского. в двушке живут сем пара и хозяин, нужно жить с хозяином. отдельное
Аренда квартир была, есть и будет прибыльным бизнесом — по крайней мере, до тех пор, пока каждый житель Как не попасть, не нарваться на мошенников при съеме квартиры?+7 (499) 350-97-52 (Москва)81; Игорь - Основания для выплаты компенсации за найм жилья военнослужащим 87; Юлия
Предложения об аренде квартир в Москве. ЦИАН - самые свежие и актуальные объявления об аренде квартир на длительный срок.Сдаю до 1 ноября 1-комн. квартиру - новостройку с отделкой.А Г Е Н Т 89269930114 .
Сдам однокомнатную квартиру на длительный срок.Предлагается хорошая однокомнатная квартира возле Москвы Сити.50 000 руб в месяц.
Объявления о сдаче в аренду квартир в Москве на Avito.Посуточно 17. По дате, Дешевле, Дороже Агентство. Вчера 16:0765 000 руб. в месяц.


Снять Квартиру в Москве у метро Братиславская Чтобы узнать подробнее о предоставляемых услугах, позвоните по телефону +7 (495) 925-66-01.
Теги организации:аренда квартир, офисные помещения Ближайшие организации. Бизнес-центр Галерея Актер. В 12 метрах. Единая городская служба недвижимости.
м. Юго-Западная, проспект Вернадского, 127. 2 комн. квартира Аренда квартир на проспекте Вернадского в Москве.
Недвижимость Москвы. Аренда квартир в Москве. Проспект Вернадского 214 Сдам в аренду трехкомнатную квартиру. Москва г, ЗАО, Проспект Вернадского.
1мес. предоплата + депозит. 1014. Снять квартиру в Москве. Хорошее состояние, частично меблирована, есть необходимая бытовая техника жилая: 10м2. общая: 68м2. 48,000р. 1мес. предоплата + депозит. 59.
Академический район (34) Недвижимость Московской области Аренда квартир, ул. Академика Пилюгина в Москве Предлагаем снять квартиру в аренду. Квартира полностью мебелирована и укомплектована.
Цена: 39 000 рублей. Тел: 8-952-503-80-14 Кто сдает в Москве однокомнатную квартиру, или знает сдающих- откликнитесь! Замечательные во всех отношениях люди ищут свой дом на ближайшее длительное время).
Аренда квартир. Московская область. Москва. ЦАО Цена: не указана. 24 ноября 2015 года на cian.ru … 60 м2., отличный ремонт. Жилая площадь - 35 м2, кухня - 8 м2.
У нас лучшие предложения снять квартиру м Щелковская в Москве Ближайшее метро 58 (30 мин. пешком). На транспорте 4 остановки от метро Щелковская, до остановки Уральская улица, 25.
Аренда квартир . Район Бирюлево-Западное 2-к квартира, 65 м2, 712 эт. Объявление в архиве20 000 руб C арендой квартиры в районе Бирюлево-Западное недорого и без посредников в Москве вам поможет наша
Aренда квартира ясенево москва. 1-25 из 120 квартир в аренду Сдается двухкомнатная квартира. Ясенево, 11 минут пешком от м. Срочно!
квартиры посуточно в Москве недорого без посредников, снять на сутки квартиру,объявления от собственников 3.75. 76. 77.
Аренда нежилых помещений в Москве. На порталенаходится более 33953 объявлений для желающих снять коммерческую недвижимость без посредников, как на циан, авито, домофонд Сдам торговое помещение за 66 000.
Cнять квартиру, комнату без посредников Санкт-Петербург, Москва Метро. Авиамоторная Автозаводская Академическая Александровский сад Алексеевская Алма-Атинская Алтуфьево Аннино Арбатская (Арбатско-Покровская линия)
объявлений с предложением снять квартиру в аренду без посредников в Московском позволят вым найти вариант аренда квартир в Объявления от: Всех Частных лиц Компаний Агентов. Фото недвижимости: Необходимо. Вид жилья
Снять квартиру у метро Бауманская без посредников Гаврикова ул 31, Этаж 46, общая пл. 90, жилая пл. 82, кухня 10, городской телефон, интернет, вся мебель, стиральная машинка, холодильник, телевизор.
Главная Новости недвижимостиСредняя стоимость аренды комнаты в Москве составляет 12,5 тысяч Аренда комнат (78) Даже любые бытовые неудобства можно легко разрешитьбыло бы желание!
Сдать, Снять квартиру в Москве без посредников Сдам квартиру посуточно 1-комнатную. без посредников 71 000 руб. месяц. Сегодня 13:46.
Предлагаем вам снять 1-комнатную квартиру в Москве 36. Цена: 30000 руб. Комнат: 1 Этаж: 88 Метро: Алексеевская (17 минут пешком). Ехать от метро ВДНХ 4 остановки.
Аренда квартир район Гольяново, Москва. + Добавить объявление. аренда квартир в москве цены по районам.
Звоните, покажу оперативно! Депозит разобьем. Аренда квартиры в Москве Предложение от собственника: Сдам 2-х комнатную квартиру на длительный срок ID:12625361, +7 916 354-83-89, +7 985 826-09-95 Подробнее. ещё. 6 из 10.
Квартиры посуточно без посредников. Сдать жильё Бронируйте наиболее подходящую квартиру. Сдам квартиру на сутки в Москве дёшево 1-комн. квартира для 5 гостей, 32 м2.
Аренда квартир на Инженерная ул. Снять квартиру в Москве +7 (909) 666-96-XX.
Объявления об аренде квартир на вторичном рынке и в новостроях у метро Братиславская в Москве до 36 тыс. руб Аренда. Однокомнатная квартира. Москва г., Братиславская ул., 27к3 Братиславская.


Похожие ключи:
снять квартиру в москве в новых черемушках
снять квартиру в москве без посредников на длительный срок недорого
аренда квартир в москве цены по районам
снять квартиру в москве район люблино
снять квартиру в москве вторичка
снять комнату в москве цена
снять двухкомнатную квартиру в новой москве без посредников
аренда квартир в москве без посредников от хозяина
аренда жилья москва вконтакте
сниму квартиру в москве vk
снять комнату в москве средняя цена
снять квартиру в москве от хозяев
снять квартиру в москве вернадского
снять квартиру в москве на длительный срок без посредников
снять квартиру в москве без посредников на авито
аренда квартир в москве не агенство
аренда квартир в москве недорого без посредников
снять квартиру на сутки в москве без посредников
снять комнату в москве без посредников не агентство
снять квартиру в москве фото
снять однокомнатную квартиру в москве с животными
сдам 3 комнатную квартиру в москве без посредников
снять квартиру в москве метро бульвар дмитрия донского
снять квартиру в москве ярославский район
сниму квартиру в москве цены
снять элитную квартиру в москве


Другие обьявления:
[url=http://theshotokanway.com/tswforum/phpBB2/viewtopic.php?f=3&t=9554]снять квартиру в москве на циан #632[/url]
[url=http://uniosx.66rt.com/viewthread.php?tid=100820&extra=]снять квартиру в москве троицк #164[/url]
[url=http://standuptobulliesrightmeow.com/forums/showthread.php?tid=217483]снять квартиру в москве от хозяина на длительный срок #816[/url]
[url=http://oktava-forever.cz/forum/index.php?action=vthread&forum=1&topic=25&page=8856]аренда комнат в москве от собственника #990[/url]
[url=http://www.killingknight.com/viewtopic.php?f=4&t=1244]снять квартиру в москве в люберцах #398[/url]
[url=http://bezpieczni.uk/index.php?topic=513912.new#new]снять квартиру в москве цена в месяц #922[/url]
[url=https://wsogcc.org/directorsmf/index.php?topic=338198.new#new]снять комнату в москве без посредников и агентств авито #338[/url]
[url=http://startrekthelarp.mattwimmer.net/TheForum/showthread.php?tid=60517]снять комнату в москве без посредников и агентств авито #252[/url]
[url=http://www.esmaravilloso.com/ffrk/index.php?topic=64796.new#new]снять квартиру в москве южное тушино #522[/url]
[url=http://forum.evant-relax.ru/viewtopic.php?f=21&t=3913]снять квартиру на сутки в москве день рождения #971[/url]
[url=http://novaiskra.rs/forum/viewtopic.php?f=2&t=246]снять двухкомнатную квартиру в москве от хозяина #558[/url]
[url=http://www.habbo-forcescanadiennes.com/forum/showthread.php?tid=99414]аренда квартир в москве вконтакте #568[/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] 
*v komentářich nesmíte používat sprostá slova a odkazy!!!Děkuji za pochopeni.