Создать ответ 
Проблема с формой добавления комментариев
Автор Сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #21
RE: Проблема с формой добавления комментариев
(14.10.2013 01:42:53)Костя писал(а):Спасибо, очень помогли. Можно ли убрать еще ввод числа? Если да, то как это отразиться на безопасности сайта? Будет ли вероятность, что кто-то изменит содержимое БД?

Я бы не советовал убирать ввод числа, т.к. это - простейшая защита от СПАМ ботов. Если убрать ввод числа, то в скором времени Вас завалят СПАМ-ом, хотя, Вам решать, как Вам удобнее.

Вот код без ввода проверочного кода:
PHP код:
<?php
session_start
();

$link mysql_connect("localhost""***""***") or die("Could not connect: " mysql_error());
mysql_select_db("***"$link);

$_SESSION[full_url]=mysql_real_escape_string(basename($_SERVER['REQUEST_URI']));
$_SESSION[mess_url]=strtok($_SESSION[full_url], '?');

if (isset(
$_POST[user_text])) {
 
$_SESSION[comment_user_text]=$_POST[user_text];
 if (
get_magic_quotes_gpc()=="0"$_SESSION[comment_user_text]=mysql_real_escape_string($_POST[user_text]);
 
$_SESSION[comment_user_text]=htmlspecialchars($_SESSION[comment_user_text]);

 
$result mysql_query("insert into comment (date,theme,message) values ('".date("Y-m-d H:i:s")."','".$_SESSION[mess_url]."','".$_SESSION[comment_user_text]."')");
 
$_SESSION[send]='Комментарий принят и ожидает модерации.';
 
header("Location: $_SESSION[mess_url]#last");
 exit;
}
?>


PHP код:
<?php
$result 
mysql_query("SELECT * FROM comment WHERE theme='".$_SESSION[mess_url]."' and moderation=1 ORDER BY id desc"$link);
$number mysql_num_rows($result);

if (
$number>0) {
echo 
'<div align="center">
<u><b>Последние комментарии посетителей:</b></u><br>'
;

for (
$n=1$n<=$number$n++) {
 
$comments=mysql_fetch_array($result);
 echo 
'<br><table border="0" width="100%" style="border: 1px solid #4874a3;"><tr>';
 echo 
'<td align="left"><div id="m'.$comments[id].'"></div><b>'.$comments[login].'</b></td>';
 echo 
'<td width="140"><span style="font-size:12px;">('.$comments[date].')</span></td></tr></table>';
 echo 
'<table border="0" width="100%" style="border: 1px solid #eeeeee;" bgcolor="#eeeeee">';
 echo 
'<tr><td colspan="5" align="justify">'.wordwrap(nl2br($comments[message]), 70"\n"1).'</td></tr></table>';
}
echo 
'</div>';
}
?>


PHP код:
<?php
echo '<div id="last" align="center">';
echo 
'<form method="POST" action="'.$_SESSION[mess_url].'#last">';
echo 
'<table border="0" style="border: 1px solid #4874a3;border-radius:8px;" bgcolor="#7799ee" cellspacing="4">';
echo 
'<tr><td colspan="2" align="center"><b>Добавить комментарий к теме:</b><br>';
echo 
'<textarea cols="65" rows="5" name="user_text" required></textarea><br>';
echo 
'<input type="submit" value="Отправить"></td></tr></table></form>';

if (isset(
$_SESSION[send])and($_SESSION[send]!="")) {
echo 
'<font color="red"><b>'.$_SESSION[send].'</b></font>';
$_SESSION[send]="";
}
echo 
'</div>';
?>
14.10.2013 18:38:05
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru