Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как пресечь дублирования mail() ?


Автор: R.M. 28.8.2005, 17:55
Есть форма, через неё отправляются параметры через mail() на мыло.
Можно ли сделать так чтобы при отправке абсолютно одинаковых данных сообщение не отправлялось на мыло?

Автор: Mal Hack 28.8.2005, 18:09
Делать флуд контроль. Писать в куку время первой готправки, и проверять при каждой отправке, если время текущее больше время отправления на 5 минут, к примеру, новое письмо не отправлять.

Автор: R.M. 28.8.2005, 19:35
Mal Hack

Нет, ведь может человек посылать разную инфу каждые 10 секунд, тогда емупридёца ждать а это неудобно. Или можно сделать чтобы флуд контроль включался только когда все данные такие же как и прошлые?

Автор: Mal Hack 28.8.2005, 19:38
Значит сохранять сообщения а достаточно даже md5 от сообщений и сравнивать.

Автор: R.M. 29.8.2005, 00:18
Mal Hack

Т.е. на сколько я понял выход один - перед отправкой сохранять сообщение, преобразуя ево в md5, и при отправке следущева сообщения они будут сравниваться и при соответствии не будет отправляться. Только вот как это всё сделать? Ну всмысле как сохранять и отправлять понятно а как сделать проверку на существование ?

Автор: Mal Hack 29.8.2005, 13:01
Цитата
преобразуя ево в md5,

Это как один из вариантов.

Цитата
а как сделать проверку на существование ?

Это уже зависит от того, как ты будешь сохранять. Думай сам.

Автор: R.M. 30.8.2005, 00:16
Mal Hack

Я бы подумал но я не представляю как сделать проверку на существование т.к. нируазу с этим не имел дело и в пхп я не очень хорошо разбираюсь.
Ну если я например буду сохранять на каждой следущей строчке md5 код как сделать проверку на существование?

Автор: Mal Hack 30.8.2005, 09:17
Куксикус думай. Сохранять можно 1000 разными способами. Думай, как тебе лучше.
Что касается проверки, то читаем, сравниваем... Как ты будешь это делать - зависит от того, как сохранишь.

Автор: R.M. 1.9.2005, 03:05
Mal Hack

Мне уже Opik помог
таким вот способом
Код

print in_array("$text", file("file.txt")) == true ? 'Такая строка есть':'нету';

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)