Простая система комментирования на PHP | ExtraWEB.biz

Простая система комментирования на PHP

Как сделать простую систему комментирования для сайта с помощью PHP ,MySQL.

1. Для хранения комментариев нужна таблица в базе данных MySQL

MySQL можно не использовать, а принимать комментарии на почту и добавлять вручную.


CREATE TABLE `comments` (
  `comment_ID`          bigint(20)   unsigned NOT NULL auto_increment,
  `comment_post_ID`     varchar(256) NOT NULL default '',
  `comment_author`      varchar(64)  NOT NULL default '',
  `comment_author_IP`   varchar(36)  NOT NULL default '',
  `comment_date`        datetime     NOT NULL default '0000-00-00 00:00:00',
  `comment_content`     text         NOT NULL,
  PRIMARY KEY  (`comment_ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;


INSERT INTO `comments` 
(`comment_ID`, `comment_post_ID`, `comment_author`, `comment_author_IP`, `comment_date`, `comment_content`) VALUES
(1,'http://extraweb.biz/','admin','57.130.250.61', '2011-02-14 17:52:00','все будет хорошо');


2. Для ввода комментариев нужна форма


<style>
/*=======commentform=====================*/
#commentform { clear:both;padding:15px 25px; background:0; border:0; border-top:double #2b2b2b 3px; margin:20px 10px;}
#commentform .commentform-title{font-family:rockwell,georgia; font-weight:bold; color:#FFFFFF; width:162px; font-size:16px; padding:5px; text-transform:uppercase; background: url(http://extraweb.biz/ru/webmasters/create-commenting-system-php/i/comment-title.png) no-repeat top left; margin:1px; }
#commentform .commentform-title small{ font-size:12px;}
#commentform .pinputn{padding:2px 2px 2px 20px; background:url(http://extraweb.biz/ru/webmasters/create-commenting-system-php/i/comment-name.png) top left no-repeat; border:1px solid #2b2b2b; margin:1px; font-size:14px; font-weight:bold; color:#111111; height:20px; width:150px}
#commentform .pinputm{ visibility:hidden; padding:2px 2px 2px 54px; background:url(http://extraweb.biz/ru/webmasters/create-commenting-system-php/i/comment-m.png) top left no-repeat; border:1px solid #2b2b2b; margin:1px; font-size:14px; font-weight:bold; color:#111111; height:20px; width:136px}
#commentform .pinputx{padding:2px 2px 2px 54px; background:url(http://extraweb.biz/ru/webmasters/create-commenting-system-php/i/comment-x.png) top left no-repeat; border:1px solid #2b2b2b; margin:1px; font-size:14px; font-weight:bold; color:#111111; height:20px; width:70px}
#commentform .ptextarea{padding:2px; background:#F7F7F7; border:1px solid #2b2b2b; margin:1px; font-size:14px; font-weight:normal; color:#333333; height:175px; width:500px;}
#commentform .bsubmit2{background:#ab1515; color:#FFFFFF; font-family:rockwell, georgia; padding:2px;width:250px; margin:1px;}
#commentform .bsubmit2:hover{background:#CC0000; color:#FFFFFF; font-family:rockwell, georgia; padding:2px;width:250px; margin:1px;}
#commentform .ok{background: #00CC00; color:#FFFFFF;padding:2px; border:1px solid #2b2b2b; margin:1px; font-size:12px; font-weight:normal;height:20px; width:500px;}
#commentform .er{background: #CC0000; color:#FFFFFF;padding:2px; border:1px solid #2b2b2b; margin:1px; font-size:12px; font-weight:normal;height:20px; width:500px;}
/*=======end commentform=================*/
</style>

<form action="" method="post" enctype="multipart/form-data" accept-charset="utf-8"  id="commentform">
<div class="commentform-title">К<small>омментировать:</small></div>
<? if($mes_text){ ?>
<div class="<?=$mes_style?>"><?=$mes_text?></div>
<? } ?>
<div>
<input class="pinputn" name="name" id="name" value="" maxlength="27" type="text" />
<input class="pinputx" name="inputx" id="inputx" value="" maxlength="27" type="text" />
<input class="pinputm" name="email" id="email" value="" maxlength="27" type="text" /><!-- скрытое поле, бот его обязательно заполнит -->
</div><div>
<textarea class="ptextarea" name="message" id="message" rows="10" cols="75" ></textarea>
</div><div>
<input class="bsubmit2" name="submit" value="Добавить комментарий" type="submit" /> 
</div>
</form>


3. Обработка и проверка входящих данных PHP

if (!empty($_POST['submit'])) 
{
//данные от пользователя
$name=trim(substr(preg_replace('/[^A-zА-я0-9-_ .]/u','',$_POST['name']),0,32));
$inputx=(int)substr($_POST['inputx'],0,4);
$email=htmlspecialchars(trim(substr($_POST['email'],0,32)));
$message=htmlspecialchars(trim(substr($_POST['message'],0,1000)));

//данные сервера
$c_ip=$_SERVER['REMOTE_ADDR'];	
$c_url= 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 
$c_date=date('Y-m-d G:i:s');

//Проверка входящих данных PHP
$mes_text='';
if ($inputx!=17) {$mes_style='er';$mes_text='Ошибка ! 10+7=?';}
if ($email!='')  {$mes_style='er';$mes_text=$mes_text.' Вы бот ?';} 
if ($name=='')   {$mes_style='er';$mes_text=$mes_text.' «Имя» где ?';}    
if ($message==''){$mes_style='er';$mes_text=$mes_text.' «Текст» где ?';} 
if (stristr($name,'http')){$mes_style='er';$mes_text=$mes_text.' Ссылки запрещены !';} 
if (stristr($message,'http')){$mes_style='er';$mes_text=$mes_text.' Ссылки запрещены !';}
if ($mes_text==''){$mes_text='ok';}
}


5. Отправка комментария


6. Готовая форма для комментирования

Комментировать:


7. Полученный комментарий


8. Вывод комментариев

Отзывы:

ыы | 2018-06-21 13:45:30

hhh

говно | 2018-05-05 11:46:29

жопа

23 | 2018-04-23 21:42:41

вфцфцв

Рпд | 2018-04-17 22:31:30

Работает

анна | 2018-03-31 18:09:51

получилось!

прм | 2018-03-31 16:37:36

мпапсмриотлд

ывав | 2018-03-16 19:54:56

ываывава

Neko | 2018-03-12 18:36:33

000

Vlad | 2018-03-08 13:54:58

Проверка

boba | 2018-02-24 16:01:54

И правда работает!

от | 2018-02-02 18:11:22

па

Gena | 2018-01-19 00:43:56

Есть желание проверить

asgdb | 2018-01-10 14:26:32

asgdsfn

одлодл | 2018-01-06 17:55:55

одл

gasgsaga | 2017-12-25 12:16:15

dagagagagasgsa

вва | 2017-11-24 21:02:42

апро

ya | 2017-11-20 19:48:37

&#104;ttps://sweetgirl.org

орвао | 2017-11-16 20:37:06

глпнль

5555 | 2017-10-19 04:30:50

1111

Ж | 2017-10-16 13:01:56

123

vasia | 2017-09-23 23:17:23

sestolab.pp.ua

lol | 2017-08-01 03:53:07

cvbnm

паав | 2017-07-23 04:52:40

вапав

fgjhgjh | 2017-06-15 11:50:57

gvj,

sese | 2017-06-02 15:36:31

ererw

bgdfbdf | 2017-05-16 22:36:54

fasfca

Gfdt | 2017-05-04 10:24:34

bcvb

Artem | 2017-04-28 13:47:55

sevrsv

ghbjnkmd | 2017-04-28 01:13:58

c cvbghnjmk,l.;/.lkmjnhgvtfcd

Artem | 2017-04-27 23:10:09

Начнем

BY | 2017-04-25 16:57:31

Hello World!

Дарья | 2017-04-20 17:55:21

акпвапвапп

bvbv | 2017-04-20 17:17:35

fgdgfdgdfgvbcbc

123 | 2017-04-18 14:02:46

12313123123123

123 | 2017-04-18 14:01:43

12313123123123

Стас | 2017-02-28 11:37:05

Готовая система комментирования getrate.me

17 | 2017-02-05 17:59:13

17

eeeeee | 2017-01-22 14:54:20

jjjjjjjjjjj

сссс | 2017-01-03 13:03:08

ссс

Владимир | 2017-01-02 11:02:01

ййййййййййййййй

fewf | 2016-12-29 20:24:38

w4tr

пьми | 2016-12-01 05:42:41

іривм

руслан | 2016-11-24 22:42:26

Тестируем?

Марк | 2016-11-24 22:19:45

Работает?

Polska | 2016-11-19 18:50:19

I am strong

йцук | 2016-11-19 18:49:19

dis is test

MisterPanda | 2016-11-14 13:18:42

It\'s work?

екек | 2016-11-06 17:31:13

кекенке

lina | 2016-11-03 18:16:36

тест тест тест тест

ргнгшл | 2016-10-25 11:20:23

гшлнгшн

фывфы | 2016-10-22 20:12:56

ыфвфывф

Я | 2016-10-19 01:20:51

ни че так

Я | 2016-10-19 01:14:37

ни че так

ЛОхов дима | 2016-10-15 01:48:31

САСИТЕ

fassafa | 2016-09-28 11:47:53

asfafg

vvb | 2016-09-17 21:14:31

sdsdsd

vvb | 2016-09-17 21:13:48

sdsdsd

gfhk | 2016-09-15 21:21:49

доижьтж

ewe | 2016-08-31 20:40:31

rewre

фыв | 2016-08-16 10:30:36

ервапрвп

фыв | 2016-08-15 22:28:56

ервапрвп

Петро ванович | 2016-07-23 19:06:05

12312312

Петро ванович | 2016-07-23 19:05:55

12312312

смимси | 2016-06-22 04:31:58

смисмис

jyhjhujk | 2016-06-21 09:31:18

tjutyuytu tuhtyhtyhytu y uytbtynu

Отдых у Бабы Нади | 2016-05-20 19:42:56

лплрл

sdf | 2016-05-18 01:16:06

ну допустим

nn | 2016-05-17 22:31:46

l,l

Привет | 2016-05-17 21:53:11

говно

tester | 2016-05-13 12:52:02

tester ok

Ольга | 2016-04-11 18:31:54

Интересная статья

Мазь Путешествен | 2016-04-04 02:40:58

афывав

qq | 2016-03-22 10:37:35

qwerty

ssd | 2016-03-16 15:28:22

sdsdsdasdasdasdasdd

Дима | 2016-02-28 11:08:34

привет

Тестер | 2016-01-08 21:45:00

Проверка

кпк | 2015-12-28 03:21:11

с

прог | 2015-12-28 01:37:24

мир

Рыба | 2015-12-28 01:36:29

Хорошо сделано!

Анастасия | 2015-12-28 01:35:27

Проверка формы комментариев

Анастасия | 2015-12-28 01:24:22

Проверка формы комментариев

Анастасия | 2015-12-28 00:55:42

Проверка формы комментариев

Настя | 2015-12-27 22:29:45

надеюсь что работает!

Первый | 2015-12-25 21:45:53

Первый был один мужик звали его ВАСя

ук | 2015-12-13 18:19:43

уке

r | 2015-12-04 13:36:05

rre

трам | 2015-11-26 05:03:21

пам пам

ввв | 2015-11-24 10:24:34

какха

ввв | 2015-11-23 13:35:07

какха

тимур | 2015-09-17 22:23:09

привет мир

цыав | 2015-09-01 16:52:29

ыаывафы

234234 | 2015-07-31 00:40:25

adfsdaf

gh | 2015-06-11 21:56:55

vh

прпр | 2015-05-19 00:33:53

нвепн

sfd | 2015-05-16 23:14:23

fgf

оот | 2015-05-16 20:35:40

отлтб

xssol | 2015-05-04 06:26:16

цыцыыцы

Кирилл | 2015-04-30 18:07:32

Допишите 5 пункт. комментарий не выводится и в таблицу не заносится

ророп | 2015-04-30 17:55:39

поаопаоп

2323233 | 2015-04-10 11:36:20

extraweb.biz/ru/webmasters/create-commenting-system-php/

2323233 | 2015-04-10 11:34:04

<a href=\"адрес ссылки\"><img src=\"адрес картинки\" alt=\"\" /></a>

2323233 | 2015-04-10 11:31:16

232323

jkl | 2015-03-24 04:40:36

jkljljio

raffa | 2015-03-14 10:15:39

sadsafdsdghjhgfdsasdfghjkhvgcfdsd

433 | 2015-02-15 19:52:13

цфаыв ыпывапвыапвы апвыа павыпыпыв

433 | 2015-02-15 19:27:42

цфаыв ыпывапвыапвы апвыа павыпыпыв

433 | 2015-02-15 19:17:53

цфаыв ыпывапвыапвы апвыа павыпыпыв

321 | 2015-02-15 19:16:57

цфаыв ыпывапвыапвы апвыа павып

123 | 2015-02-14 22:22:05

ghiukh igjkhjklhkj kjg jhgjkhg jhkg jgbjk hgjkhg jkhg jkhg jhkgj khgjhg jhgjh kgjhg jhgjhkg jhgjkhg jkgjhk ghkg jkhg jkgkj gjhk gjkhg jhg jkhg jkgjh gjkh gjh jgjgffd fghgjhg f hgjfjgf hgjf gjgf fhjkg jfgj hgg hf jg k

аа | 2015-02-14 14:23:50

уй

сАША | 2015-02-05 12:54:57

5 тест

ваыва | 2015-01-22 09:23:49

выавыаывавыаывfdgfdgd

ваыва | 2015-01-22 08:18:01

выавыаывавыаыв

как | 2014-12-12 09:05:56

вов

das | 2014-12-10 03:45:22

fds

ыыы | 2014-11-22 21:28:37

фаафы

123 | 2014-11-18 17:12:37

123

гншлегл | 2014-11-18 17:12:18

лоджолд

аааа | 2014-11-08 20:33:50

аааа

1 | 2014-10-13 10:07:01

1

007 | 2014-10-06 16:06:24

шж

007 | 2014-10-06 16:04:42

шж

dwd | 2014-08-29 15:35:54

erwr

aaaaaaaaaaa | 2014-08-13 11:37:01

aaaaaaaaaaaaa

человек | 2014-07-10 14:19:58

mimi

Александр | 2014-06-11 17:05:35

Проверка формы коментариев

vxxb | 2014-04-29 08:35:28

vcv

Timur | 2014-04-29 07:58:17

asdsad

Андрей | 2014-03-31 15:28:25

вапролд

роио | 2014-01-27 15:29:37

нгшщ

Bangkok 2 | 2013-10-25 09:33:54

3. Обработка и проверка входящих данных PHP

Bangkok-2 | 2013-10-25 09:15:51

Фильм Предстояние

ZaytsevDenys | 2013-10-25 02:34:21

6й коммент

lady | 2013-10-25 02:19:26

5й коммент

lady | 2013-10-25 01:49:30

4й коммент

admin | 2013-10-24 15:53:00

да будет хорошо

admin | 2011-02-14 17:52:00

все будет хорошо