Annalee коментар php. Проста система за коментари за помощ на AJAX. PHP код за коментар

Коментарите в PHP са аналогични на коментарите, които са включени в HTML. Синтаксисът на PHP коментарите започва със специална последователност от знаци и целият текст, който е между тези специални знаци, ще бъде игнориран от интерпретатора.

Основният мета коментар на HTML е да служи като напомняне на търговците на дребно, така че те да могат да гледат изходния код на вашия сайт. Коментарите на RNR са отбелязани, че вонята не е приемлива за зрителите. Единственият начин да видите PHP коментари е да отворите файл за редактиране. Моля, използвайте PHP коментари за PHP програмисти.

Ако сте забравили или не знаете как да премествате коментари в HTML, тогава се чудете на задника по-долу.

Синтаксис на php коментар: едноредов коментар

Точно както html има само един тип коментар, PHP има два или повече типа. Първият тип, който обсъждаме, е едноредов коментар. Коментарът Tobto, който трябва да говори с преводача, игнорира всичко, което се появява на този ред с дясна ръка в коментарите. За да изберете този коментар, поставете символите "//" или "#" и целият текст е с дясна ръка и се игнорира от PHP интерпретатора.

Psst...Не можете да видите моите PHP коментари!"; // echo "нищо"; // echo "Моето име е Хъмпърдинкъл!"; # echo "И аз не правя нищо"; ?>

Резултат:

Здравей свят! Psst ... Не можете да видите моите PHP коментари!

За да признаем факта, че някои от нашите команди за ехо не са били разширени, ние ги коментирахме за допълнително коментиране на специални знаци. Този тип коментар често се използва за бърза бележка относно свиващ и подвеждащ код или понякога можете да видите ред PHP код (за данъчни цели).

Синтаксис на php коментари: богат порядков коментар

Освен HTML - коментарите, PHP коментарите могат да се използват за коментиране на страхотни блокове код или за писане на коментари в ред коментари. Редовните коментари в PHP започват с "/*" и завършват с "*/". Всичко, което е известно между тези символи, се игнорира.

Резултат.

Когато писах за. Така че оста, ние ви гледахме по-малко " алчен"представители. Проте, който е начело на тях" алчност„Помагайки ни, често е навън и пакостливо. Ще покажа дупето по-долу, ясно се виждат онези, които миришат в другите, а също така ще ви покажа как да смените бушона им и да пораснете квантор повторение "линейно".

Нека да разгледаме едно просто дупе, което вече стана класическо:

$str = "Малък ред° С смеливидяно.";
.*<\/b>
ехо $result_str;
?>

Вероятно, Вие посочвате kshtalt на това: " Малък here_fat_seeing here_fat_seeing". Това е просто промяна на място в средата на етикета<б> на задания от нас в ред іz от самия таг. Ние обаче не го наричаме така, парчетата тук влизат в групата. алчност за квантори". В резултат на това подмяната на булата не е в средата на етикета на кожата<б> и от първата крива на етикета до последната крива. Който има алчност.

Оста беше да напишем кода, така че промяната да бъде направена по начина, който искаме:

$str = "Малък ред° С смеливидяно.";
$result_str = preg_replace("/ .*?<\/b>/i", "bold_view_here", $str);
ехо $result_str;
?>

Всичко, което сме променили тази обикновена вираза, като добавихме повторение след квантора. .* „знак за хранене, което е знак i ограби квантора "ledachim". Сега резултатът ще бъде: " Малък here_fat_seeing here_fat_seeing виждам.„Това, което се опитахме да постигнем.

Сигурен съм, че сте забелязали проблема "алчни" кванторитя разбра как действа вонята. И те също така научиха как можете да го коригирате с прост знак. ? Тази тема е важно важна и големият брой новодошли в редовните съдилища да дават едно и също помилване, "лакомо" повторение на квантораТъй като не сте видели цялото усещане до края, прочетете отново статията.

Krok 1 - XHTML

Започваме да се чудим на розата на коментара. Tsey кодгенериран от PHP клас Коментирайте .

demo.php

Im'ya Koristuvacha
30 март 2010 г

Текст на коментара

раздел аватар отмъщение на изображението на аватара, тъй като спазваме gravatar.com. Нека се обърнем към формоването на розетата на етапа на PHP. Да бъде завършен раздел име раздел време текста на коментара.

Последният важен елемент на XHTML е формата за коментар. Вон отива да потърси помощ ПУБЛИКАЦИЯ. Полетата за мустаци, крим URL, могат да бъдат попълнени.

demo.php

Добави коментар

Формулярът се захранва от помощта на AJAX. Ревизията трябва да се брои фонов режимв submit.php. Поле на кожата maє vіdpovіdny елемент етикет, от вмъкнатия атрибут за .

Croc 2 - PHP

PHP управлява комуникацията с базата данни дадох MySQLкойто генерира контур за коментара. Vіn също изключва завършването на AJAX заявката и вмъква данните от коментара преди таблицата коментари.

demo.php

/* / Избираме всички коментари и като масив от $comments обекти */ $comments = array(); $result = mysql_query("ИЗБЕРЕТЕ * ОТ коментари ПОРЪЧАЙТЕ ПО идентификатор ASC"); while($row = mysql_fetch_assoc($резултат)) ($comments = нов коментар($ред); )

Query MySQL избира всички записи от таблица и съхранява масив $коментариклас обекти коментар. Този масив трябва да се показва за следващия час от скрипта.

demo.php

/* / Маркирайте коментарите един по един: */ foreach($comments като $c)( echo $c->markup(); )

Метод за коментар на кожата маркиране(), който генерира правилния HTML код, готов за показване отстрани. По-долу е присвояването на класа към метода.

Класът взема ред basi danikh (притежание за помощ mysql_fetch_assoc()) и запазете її от промяна $data. Vaughn е достъпен само чрез метода на класа.

comment.class.php - Част 1

class Comment ( private $data = array(); публична функция __construct($row) ( /* / Конструктор */ $this->data = $row; ) public function markup() ( /* / Метод на TseyПоказване на XHTML маркировка за коментар */ // Задайте псевдоним, така че да не го изписвате $this->data: $d = &$this->data; $link_open = ""; $link_close = ""; if($d["url"])( // Ето как се въвежда URL адресът при добавяне на коментар, // задаваме изпратените тагове, които отварят и затварят $link_open = ""; $link_close = ""; ) // Променете формата на часа UNIX: $d["dt"] = strtotime($d["dt"]); // Необходимо е да се вмъкне промоционално изображение: $url = "http://".dirname($_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"])."/img/default_avatar.gif"; връщане"
".$link_open." ".$link_close."
".$link_open.$d["име"].$link_close."
".date("d MY",$d["dt"])."

".$d["тяло"]."

"; }

Використичен граватар скрипт за представяне на аватар в коментари. Gravatar е друга услуга, която задава самоличността на аватар с имейл адрес. Изображението на аватара може лесно да бъде премахнато за допълнително предаване на кодираната функция md5()вашият имейл адрес на gravatar.com.

Скриптът присвоява URL адреса, на който съвпада, присвоява точния адрес на изображението default_avatar.gif. Ако изображението се изпраща към паралелен хеш md5, ако правилният аватар не е намерен за изпратения имейл адрес, ще се покаже алтернативно изображение.

comment.class.php - Част 2

публична статична функция validate(&$arr) ( /* / Този метод е валидиран, за да потвърди данните, които трябва да бъдат манипулирани чрез AJAX. / / Валидирайте true/false, за да потвърдите данните, и извикайте / масива $arr, който се предава като параметър или данни или ме уведомете за извинението.*/ $errors = array(); ",FILTER_VALIDATE_EMAIL))) ( $errors["email"] = "Моля, въведете валиден имейл."; ) if(!( $data["url" ] = filter_input(INPUT_POST,"url",FILTER_VALIDATE_URL))) ( // Ако има невалиден URL в полето за URL, ако няма входове: $url = ""; ) функция: ако (!($data["body"] = filter_input(INPUT_POST,"body",FILTER_CALLBACK,array("options"=>"Comment::validate_text")))) ( $errors["body"] = "Моля, въведете текста на коментар."; ) if(!( $data["name"] = filter_input(INPUT_POST,"name",FILTER_CALLBACK,array("options"=>"Comment::validate_text"))) ) ( $errors ["name"] = "Моля, въведете име."; ) if(!empty($errors))( // Ето как ohmil, копирайте масива $errors в $arr: $arr = $errors; върне false; ) // Ако данните са въведени правилно, тогава данните се копират в $arr : foreach($data като $k=>$v)( $arr[$k] = mysql_real_escape_string($v); ) // имейл е виновен за малки букви: $arr["email"] = strtolower(trim($ arr["email"])); върне истина; )

Метод валидиране()(също част от класа), означен като статичен. Це означава, че йога може да се извика без посредник за допълнителна конструкция коментар::валидате()без създаване на обект към класа. Този метод проверява данните, които се предават през AJAX.

Метод за използване на новата функция за филтриране, която е налична в PHP 5.2.0. По този начин можем лесно да конвертираме и филтрираме данните, докато се предават на скрипта. Например, filter_input(INPUT_POST,'url',FILTER_VALIDATE_URL)означава, че ми е почитан, чи є $_POST["url"]правилен URL. Ако е така, тогава функцията завърта стойността на промяната, в противен случай завърта стойността фалшиво.

Преди да спечелите такава функция, беше необходимо да спечелите Редовни виразиза повторна проверка на данните (от получената серия от проекти ако). Dodatkovoy perevagoyА тези, които приемаме, са дадени като конкретни трансформации.

Можете също да инсталирате функция, така че да извършвате допълнителни модификации на данните.

comment.class.php - Част 3

частна статична функция validate_text($str) ( /* / Този метод се извиква като FILTER_CALLBACK */ if(mb_strlen($str,"utf8")<1) return false; // Кодируем все специальные символы html (<, >, ", & .. и т.н.) и преобразувайте // нов символ на ред в етикет
: $str = nl2br(htmlspecialchars($str)); // Вижте всички символи от новия ред, които липсват $str = str_replace(array(chr(10),chr(13)),"",$str); връщане на $str; )

Оставащ метод валидиран_текстсе прехвърля като обратна функция за две седмици филтър_вход. Той пренаписва всички специални HTML знаци, за да блокира ефективно XSS атаките. Също така заменете символите на новия ред с тагове
.

submit.php

/* / Този масив трябва да бъде напомнен или даден, / както се предава на скрипта, / или като напомняния за помилването. /*/ $arr = масив(); $validates = Коментар::validate($arr); if($validates) ( /* Всичко е наред, нека вмъкнем данни в базата данни: */ mysql_query(" INSERT INTO comments(name,url,email,body) VALUES ("".$arr["name"]." ", ".$arr["url"]."", "".$arr["email"]."", ".$arr["body"]."")"); "dt "] = date("r",time()); $arr["id"] = mysql_insert_id(); /* / Данните в $arr са подготвени за захранване на mysql, / и трябва да поставим visnok на екрана, така че / готови всички елементи в масива: /*/ $arr = array_map("stripslashes",$arr); $insertedComment = нов коментар($arr); "=>1,"html"=>$ insertedComment->markup())) ; ) else ( /* Виждам предупреждение за извинение */ echo "("status":0,"errors":".json_encode($arr).")"; )

submit.phpПриемам коментари от данни чрез AJAX заявка. Преобразуването му и показване на JSON обект, в който случай или XHTML маркировка от вмъкнат коментар, или промяна на извинение. Сила на використите на jQuery статусза да се обозначи какво трябва да се повдигне - или да се напомни за помилвания, или да се добави коментар отстрани.

Отдолу са насочени две дупета.

Късмет

( "status": 1, "html": "Html кодът на коментара идва тук..." )

мощност htmlИзтрийте кода за коментар.

Цитат за помилването

( "status": 0, "errors": ( "email": "Моля, въведете валиден имейл.", "body": "Моля, въведете тялото на коментар.", "name": "Моля, въведете име." ) )

За очевидни помилвания, jQuery преминава през обекта на помилване и показва инструкциите от полетата, които имат помилване.

Krok 3 - CSS

Сега, ако маркирането е правилно генерирано и показано отстрани, можем да преминем към настройката за стил.

styles.css - Част 1

.comment, #addCommentContainer( /* Стил за коментари */ padding:12px; width:400px; position:relative; background-color:#fcfcfc; border:1px плътно бяло; цвят:#888; margin-bottom:25px; / * CSS3 заоблени ръбове и нюанси */ -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; shadow:2px 2px 0 #c2c2c2, box-shadow:2px 2px 0 #c2c2c2; :absolute;width:50px;background:url("img/default_avatar.gif") без повторение #fcfcfc; /* Центрирано вертикално: */ margin-top:-25px; top:50%; -moz-box-shadow :1px 1px 0 #c2c2c2;-webkit-box-shadow:1px 1px 0 #c2c2c2;box-shadow:1px 1px 0 #c2c2c2;

раздел .коментар і #addCommentContainer носете същия стил. Има някои CSS3 правила за заоблени ръбове и сенки.

styles.css - част 2

.comment .avatar img( display:block; ) .comment .name( font-size:20px; padding-bottom:10px; color:#ccc; ) .comment .date( font-size:10px; padding:6px 0; position:absolute;right:15px;top:10px;color:#bbb; ) .comment p, #addCommentContainer p( font-size:18px; addCommentContainer textarea( /* Intro Style */ display:block; border:1px solid # ccc; margin:5px 0 5px; padding:3px; font-size:12px; color:#555; font-family:Arial, Helvetica, sans-serif; ) #addCommentContainer textarea( width:300px; ) label( font- size :10px; ) етикет span.error( цвят:червен; позиция:относителен; вдясно:-10px; ) #submit( /* бутон за изпращане " */ фон-цвят:#58B9EB; граница:1px плътен #40A2D4; цвят:# FFFFFF; курсор: указател; font-family:"Myriad Pro" -weight:bold;padding:4px;margin-top:5px;-moz-border-radius:4px;-webkit-border-radius:4px; border-radius :4px;) #s ubmit:hover( background-color:#80cdf5; border-color:#52b1e2; )

В другата част задаваме стилове за коментари и елементи на формуляр. Значително селектор вход,който вижда елементите да останат в атрибута Тип.

Croc 4 - jQuery

Сега да преминем към jQuery.

script.js

$(document).ready(function()( /* Предстоящият код се проверява само след DOM атака */ /* Датският флаг запомня колко коментара са редактирани: */ var working = false; /* Хвани формата за редактиране: */ $(" #addCommentForm").submit(function(e)( e.preventDefault(); if(working) върне false; working = true; $("#submit").val("Working.."); $ ("span .error").remove(); /* Промяна на полетата на формуляра в submit.php: */ $.post("submit.php",$(this).serialize(),function(msg)(work = false; $ ("#submit").val("Submit"); if(msg.status)( /* / Ако вмъкването е било успешно, добавете коментар / под останалата част отстрани с ефекта slideDown /*/ $(msg.html).hide ().insertBefore("#addCommentContainer").slideDown(); $("#body").val(""); ) else ( /* / Това е извинение, преглеждам обектът / msg.errors ги показвам отстрани /*/ $.each(msg.errors,function(k,v)( $("label").append(" "+v+""); )); )), "json"); )); ));

Mi vikoristovuemo viklik функции $(документ).ready() Yaka priyazuє funktіyu до podії. Zminna работещ dіє като прапорщик, който сигнализира на този, който иска AJAX да закупи отново робота (по този начин се запазва дублирането на един и същ коментар).

Функцията за връщане за искане на POST AJAX се отменя от органа статус, за да посочите, че коментарът е вмъкнат успешно. Както е, ще добавим знака отстрани след останалата част от коментара с анимацията плъзнете надолу.

Като че ли имаше проблеми, сякаш ни напомнят за помилванията, добавяйки обхват грешка към видимия елемент етикет(атрибут на елемента етикетотмъсти документ за самоличноствъведение, scho maє pardon).

Готов!

Висновок

За да стартирате скрипта на вашия сървър, трябва да създадете таблица коментари в базата данни MySQL. Можете да търсите допълнителен SQL код от файла table.sql, който трябва да въведете в раздела SQL на phpMyAdmin. След това е необходимо да се вмъкнат параметрите на връзката с MySQL базата данни във файла connect.php .

25.04.2017


Здравейте всички!
Нека започнем да изучаваме основите на PHP от нулата!
В този урок ще ви кажа какъв вид коментар е в PHP и е практично да се опитате да напишете своя коментар в кода. Но все още не всички. Искам да ви кажа повече как да коментирате кода и защо трябваше да работите.

Какъв е коментарътPHP
Коментар наPHP– съвет на PHP-rozrobnik за шведска ориентация в кода, както и за редакции.

Коментар към PHP неработещ за koristuvach, който отвори уеб страницата за преглед. Navit като потребител мисли да се чуди на изходния код на страната, коментарът така или иначе няма да се вижда, така че харесайте целия php код.

PHP код за коментар

Използвайте 2 коментара за PHP код:

→ един ред
→ багаториум

⇒ Коментар на един ред за PHP
За едноредов коментар следвайте знаците "//" или "#"

След тези символи всичко, което е написано в един ред, ще бъде игнорирано и уважено като коментар.

Абонирайте се за актуализации"; # абонирайте се (коментар) ?>


Абонирайте се за актуализации

⇒ Случаен коментар за PHP
Произволен редовен коментар за PHP започва със знака "/*" и завършва със знака "*/".
Всичко, което е известно между тези символи, се игнорира и уважава като коментар.
Коментарът на Bagatoryadkovy е победен, като запис на цаца от редове.

Гледайте за момент на екрана следния текст:

Поздрави на читателите на блога - сайта !!!

PS:Не забравяйте да коментирате кода си. Ако ви пука, познайте всичко, което сте работили в кода в 1-2 скали, имайте милост, шансът вече е малък. Navitt yakscho и познайте, тогава ви се случи да прекарате няколко часа на сватбата - какво, къде отивате?
За да съберете бъдещето за себе си - коментирайте кода и вие сами ще кажете "ДЯКУЙМО !!!".
Оставете коментар към кода, заемете 1 hvilin час, но ви спестим на следващия голям ден.

Коментирайте PHP код

Да приемем, че сте написали PHP код, но по някаква причина трябва да видите ред 2 от кода.
Не бързам да видя кода, особено ако е php код, ще го коментирам по-бързо. И raptom ще трябва да обърне кода. По-лесно е да коментирате, по-ниско е да пишете код по нов начин.

Как да коментирате кодаPHP
Пример с едноредов коментар:

Абонирайте се за актуализации"; ?>

Пример от богат коментар.

браузъри