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 раз(а)
Задача такая. Есть n-ое количество страниц и есть n-ое количество пользователей. Собственно пробую сделать учет просмотров для каждой страницы, но столкнулся с проблемой накрутки счетчика.
$database->setQuery("UPDATE #__users SET hits = '".(int)$hits."' WHERE id = '".(int)$id."'");
$database->query();
}
}
собственно если зайти на 1 страницу то происходит запись 1 раз. т.е. если потом перейти на другую страницу другим $id то ничего не записывается, хотя должно. Так же проблема и в том что если заходит юзер с другим $uid то счетчик его тоже не учитывает.
В общем что-то никак не пойму логику как правильно оформить. Выходит либо 1 раз записать либо накрутка...
Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
чет я ниче не понял еси чесн...
одно понял - id это я так понимаю номер пользователя. а если запись не проходит то может сделать проще? - проверить у других пользователей - есть ли вообще это идишнег. мне чет кажется что ошибка в этом...
зы. а можно еще проще - сделать табличку, и туда писать данные в виде
uid | user_id | page | date | time | refer
номер записи | номер пользователя(или логин) | страница которую смотрели | дата | время | откуда пришел
а потом это уже обрабатывать запросами и выводить нужную вам инфу...
запись можно делать сразу же в начале загрузки страницы например
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
Viper
Отправлено: 28 Июня, 2009 - 21:45:54
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
да вот сначала думал тоже все в таблицу мурыжить, но на страницу около 15 запросов получается(помимо счетчика ещё куча данных выводится и записывается), поэтому решил через сессии.
$id содержит номер страницы, а $uid это идентификатор юзверя. эти 2 переменные всегда существуют только с разными естно значениями.
Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
Viper
делайте дебаги - на кажждом шаге делайте вывод инфы - т.е. сработало условие -
if (!empty($my->id)) - выведите для себя сообщение. и так далее, пока не поймете где срабатывают косяки.
Viper пишет:
но на страницу около 15 запросов получается
у вас в любом случае происходит запись просмотра в базу. так что тут на запросах вы не экономите.
и кстати 15запросов это многовато... оптимизировать постарайтесь
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
Viper
Отправлено: 29 Июня, 2009 - 14:07:10
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
Вездеход да вот жеж понатыкал после каждого условия echo но что-то не могу понять все равно.
по поводу оптимизации... двиг joomla. лично в моем компоненте 3-5 запроса на страницу. в самой же joomla 14 при кешировании. так что остается развести руками
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Viper Прошу прощения но мне кажется что опять вылезла старая "добрая" ошибка с cookies а как следствие и с сессиями
У вас счетчик случайно не во фрейме как картинка какая-нибудь загружается? Если это так то действительно придется идти обходным путем
Ну или поступить как посоветовал Вездеход
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Viper
Отправлено: 30 Июня, 2009 - 08:15:09
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
JustUserR не. куки не использую в принципе. морально устаревший метод.
т.к. тестирую на локалке то есть непосредственный доступ к файлам сессий. т.е. сессия создается с правильными данными, но вот условие не отрабатывает так как нужно. фреймы не использую в принципе. и не картинка. просто при заходе на страницу выполняется скрипт из первопоста.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.