Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Куки и счетчик просмотров для страницы
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
Собственно есть простенький счетчик, но беда в том что он тупо при каждом обращении к странице обновляет значение на +1, соответственно счетчик можно накрутить. Начал делать ограничение на добавление с помощью куки, но не могу понять что не так и где затык...
забацал бы такое:
У клиента в джаваскрипте создал бы функцию,которая сама себя вызевает каждый 5мин.И в куки в переменую добавляет время.
А при обрашени к серверу можна забацать проверку типа времени не поже 10мин.
Если Разница в времени больше 10мин.
От этого можна оттинутся и что-то создать.
Viper
Отправлено: 28 Октября, 2008 - 22:16:11
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
Agassi не ну это не совсем то... с временем у меня сессии вообще в БД хранятся... просто мне нужно не по времени, а именно когда юзверь закроет браузер, запустит снова и зайдет на страницу, только тогда его посещение засчитывалось... а сравнние времени да ещё на JS... как-то не особо охота городить...
Покинул форум
Сообщений всего: 158
Дата рег-ции: Окт. 2008
Помог: 0 раз(а)
Неплохо взять сессии.
А как узнать,когда пользователь вышел из сайта??
С джаваскриптом знаю как,а пхп пока лес для меня))
vitaliy_mad
Отправлено: 29 Октября, 2008 - 16:36:57
Участник
Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008 Откуда: Украина, Мариуполь
Помог: 0 раз(а)
Agassi пишет:
Неплохо взять сессии.
А как узнать,когда пользователь вышел из сайта??
С джаваскриптом знаю как,а пхп пока лес для меня))
Можно например хранить в базе таймстамп последнего обновления брать его функцией time() после чего проверять если текущий time() больше того что в базе например на 120 (сек) то пользователь отстутсвует на сайте... то есть таймоут 2 минуты или сколько надо...
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
в общем сделал на сессиях.
Agassi пишет:
Неплохо взять сессии.
А как узнать,когда пользователь вышел из сайта??
сессия автоматически прекращается когда закрывается браузер.
vitaliy_mad пишет:
Можно например хранить в базе таймстамп последнего обновления брать его функцией time() после чего проверять если текущий time() больше того что в базе например на 120 (сек) то пользователь отстутсвует на сайте... то есть таймоут 2 минуты или сколько надо...
я так сделал для голосования и для формы комментариев. сессии через БД. но для счетчика решил что на БД будет довольно большая нагрузка.
Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008 Откуда: Украина, Мариуполь
Помог: 0 раз(а)
Viper пишет:
я так сделал для голосования и для формы комментариев. сессии через БД. но для счетчика решил что на БД будет довольно большая нагрузка.
Нагрузка будет минимальна... обращение к БД идет в десятки раз быстрее и менее трудоемко для системы чем к файлам... другого варианта все равно нет... где то нао хранить время последнего обращения к серваку от клиента...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.