Добавление комментариев отключено
09.02.2007 SK
Еще вопрос: сделал я формы по тому принципу, как тут описано, все отправляет, супер... но я нажимаю обновить в браузере и что вы думаете: пишет сообщение отправлено, и в моем случае еще текст сообщения, и снова отправляет его... и так до бесконечности... как бороться?
Вы знаете, у меня очень много сайтов с такими формами, пока не спамили многократными обновлениями ни разу. Вопрос интересный, я подумаю, потом, если найду решение, подредактирую это сообщение ;-) И вот Вам решение:
Можно заменить строку
mail($to, $_POST['title'], $mess, "From:".$from);
на:
$filename = "antiflood.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
if($contents != $mess){
$file = fopen("antiflood.txt", "w");
fputs ($file, $mess);
fclose ($file);
mail($to, $_POST['title'], $mess, "From:".$from);
}
Таким образом мы не дадим отправить несколько одинаковых мессаг подряд. При этом флудильщик будет думать, что письма отправляются, а на деле этого происходить не будет ;-) Следовательно и он доволен, и мы ;-)
Вопрос был задан на этой странице. Но если Вам это не интересно, могу предложить Вам почитать про платный хостинг.