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


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

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

Это то я сделал. Плюс изменил таблицу для себя (выкинул ненужное и добавил IP c временем, на всякий случай)

Я хочу чтобы, когда человек нажимает на кнопку - Сообщить о неработающей ссылке. Сперва шел запрос в базу для проверки наличия таких же жалоб на этот файл. Тоесть сравнивался ID файла, на который жалуется посетителей со всеми ID файлов на которые жаловались (одинаковых чтобы не было)
Если такого ID в таблице modrequest нет, то делается запись в базу, если есть, то запись не производится.

Все сделал, кроме изначального запроса. Сейчас идет запрос, но проверяется только последний ID файла, а нужно чтобы всем.

Вот весь код:
PHP код:
 global $prefix$db$module_name;
    
$result $db->sql_query("SELECT lid from " $prefix "_downloads_modrequest");
while (
$row $db->sql_fetchrow($result)) { 
$lid2 intval($row['lid']);
}

if (
$lid2==$lid) {
include(
"header.php");
menu(1);
echo 
"<br>";
OpenTable();
echo 
"<center><br>Данный файл уже имеется в нашей базе, как недоступный.<br><br>В ближайшее время файл 

будет проверен.<br><br></center>"
;    
CloseTable();
include(
"footer.php");
} else {
$ip $_SERVER["REMOTE_HOST"];
if (empty(
$ip)) {
$ip $_SERVER["REMOTE_ADDR"];
}
$db->sql_query("insert into ".$prefix."_downloads_modrequest values (NULL, '$lid', '$ip', now(),'1')");
include(
"header.php");
menu(1);
echo 
"<br>";        
OpenTable();
echo 
"<br><center>Спасибо за информацию, Ваше сообщение принято.<br><br>В ближайшее время файл будет 

проверен.<br><br></center>"
;
CloseTable();
include(
"footer.php");
}} 



Это в общем то не столь полезное изменение. Но мне нужно. По аналогии можно много чего сделать будет, например сделать антифлуд (проверить все IP и время отправителей в базе и сравнить их с комментарием, который человек отправляет). Сейчас у меня эта штука тоже по последнему сравнивает. (в одной статье 2 раза нельзя писать с одного IP, а если чередовать статьи, раз в 1ой, раз в 2ой, раз в 1ой, раз в 2ой, то можно флудить.))