Показать сообщение отдельно
Alexander-V-Sh вне форума      Старый #2  
Аватара для Alexander-V-Sh
Alexander-V-Sh
Бывалый
Регистрация: 19.04.2006
Сообщения: 352


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Alexander-V-Sh Посетить домашнюю страницу Alexander-V-Sh Найти все сообщения от Alexander-V-Sh Добавить Alexander-V-Sh в список друзей  
25.10.2006, 18:19

Я эту проблему решал через header location. Но там перебраска стоит в функцию, где отображаются все записи, поэтому писать "Ваше сообщение добавлено" не было не обходимости, и так увидит.
Цитата Другими словами, за пять минут зловредный пользователь может конкретно засорить базу данных.

Обновляя страницу можно, но можно и заново писать, т.е. жать не рефлешь, а назад и Ок, назад и ОК. Эффект пачти тот же.

Поэтому тут лучше сделать перед записью в базу проверку на IP (естессно записывать IP каждого отправителя) или сделать запись в куки.
Тут в зависимости от того что отправляет пользователь и как часто ему разрешено это делать.

Комментарии сделаны так у меня:
//Запрашиваем из базы IP последнего отправителя для данной статьи
$result4 = $db->sql_query("SELECT sid, date, host_name FROM ".$prefix."_comments WHERE (sid='$sid') ORDER BY date DESC LIMIT 0,1");
$row4 = $db->sql_fetchrow($result4);
$sidf = intval($row4['sid']);
$datef = $row4['date'];
$ipf = $row4['host_name'];

$ip = $_SERVER["REMOTE_ADDR"];//определяем IP того кто отправляет сейчас

$post = time()-3600;//Уточняем время
$post2 = Date("Y-m-d H:i:s", $post);
if (($sidf=$sid) AND ($ipf=$ip) AND ($datef>$post2)) {
$result = 6;
$look1 = "Вы уже оставили комментарий к этой статье.";
}

Тоесть подрят нельзя отправить 2 комментария подрят. Можно спустя время, или после того, как то другой напишит комментарий.
Если нужно, чтобы всего 1 раз с этого IP отсылалось, то запросить в базу IP отправителя, и если там такое есть, то отказ.

Варианты, где можно посмотреть запись по кукам - Модуль опросов (точно незнаю) или рейтинг к статьям (тут точно есть).