Программирование > PHP
проверка начала сценария
(1/1)
Erikson:
Сразу прошу не плеваться, я начинающий... Ну так вот.
Захотел сделать отправку письма себе на ящик при посещении кем-либо моего сайта. Отправку сделал быстро, ничего сложного, но при прогулке по сайту генерируются страницы и письма постоянно отправляются. Т.е. отправляется не одно письмо, а пачка (по одному за каждый клик). Мне достаточно одного. Начитался всяких книг про проверочные сценарии и ничего не понял. Прошу популярнее объяснить, конечно если я не отниму сильно много времени.
Лист ниже. Если я убираю ремарки с session_start и session_register он у меня не гуляет по ссылкам в сайте, т.е. не работают ссылки типа get.
andymc:
1. Вариант с куками (писать ДО html)
if (empty($_COOKIE[\'flag\']) && !headers_sent()) {
mail(...);
setcookie(\'flag\', 1, time() + 3600, \'/\');
}
2. Вариант с сохраненем IP адресов в файл вместе с датой. Код писать не буду ( только за небесплатно...)
3. Можно все визиты писать в файл, а потом каждый час пачкой отправлять по почте
Кстати, можешь отправлять по емейл не только время, но и IP адрес, браузер посетителя, страницу, которую он просматривает, реферрер.
Vizz:
Мануал: isset() will return FALSE if testing a variable that has been set to NULL
может после отправки письма присвоить visit_count какое то значение? :)
эдит: еще не проснулся, ляпнул что то нето. Заводишь переменную в сессии(если нету), а потом сверяешь, если переменная нулевая - шлёш мыло и ставишь переменной скажем 1, если не нулевая, то на нет и суда нет. Если, конечно делать как ты начал делать.
Навигация
Перейти к полной версии