Вы не зашли.
Главная » PHP » Подсчёт времени на сайте пользователем
#1. JESOD Off (1)
Участник
2010.04.08 00:12
Прошу помочь, подсказать логаритм хотябы, подсчёта и записи в базу например в таблицу `users`, ячейка `on_site`. Подскажите подробнее, буду очень благодарен. Я делал по-разному, и создавал для сессий отдельную таблицу, подсчитывал, но толком ничего не вышло. Хочется, как можно точнее всё подсчитывать. Пробовал с John cкатать логоритм, но не въехал.
#2. Gemorroj On (107)
Administrator
2010.04.08 09:09
в сессии храни время последнего запроса.
при каждом новом запросе страницы прибавляешь к времени проведенному на сайте разницу между текущим временем и временем последнего запроса. если разница больше 5 минут, например, то можно ничего н прибавлять, т.к. пользователь уходил.
#3. JESOD Off (1)
Участник
2010.04.08 11:11
Ооо..спасибо. А технически это можешь написать? Просто я с куками больше работаю. А читать мануал пытался, не нашёл что надо.
#4. Gemorroj On (107)
Administrator
2010.04.08 12:12
это очень просто. реализуй сам.
#5. JESOD Off (1)
Участник
2010.04.08 13:01
Gemorroj, Понимаю, может тебе просто, мне не очень. Помоги пожалуйста.
#6. Gemorroj On (107)
Administrator
2010.04.08 14:02
Код:
span style="color: #0000BB"><?phpif (@$_SESSION['time'] && $_SESSION['time'] > $_SERVER['REQUEST_TIME'] - 300) { mysql_query('UPDATE users SET onlineTime = onlneTime + ' . $_SERVER['REQUEST_TIME'] - $_SESSION['time']);}$_SESSION['time'] = $_SERVER['REQUEST_TIME'];
#7. JESOD Off (1)
Участник
2010.04.08 16:04
Подставил свои названия таблицы и что то не робит, сессию я так понимаю надо запустить?  Вверху кода твоего написал:
session_name('time');
session_start();
Извини что я такой бестолковый..просто не врубаюсь..
#8. Gemorroj On (107)
Administrator
2010.04.08 17:05
JESOD написал:
что то не робит
что на это можно ответить? чем более полное будет описние ошибок, тем выше вероятность получить развернутый ответ на них.
#9. JESOD Off (1)
Участник
2010.04.08 20:08
Не пишет в базу ничего, ходил по страницам сайта, и ничего не записывает. сколько провёл времени на сайте.
#10. Gemorroj On (107)
Administrator
2010.04.08 20:08
отлавливай в каком месте работает не так как нужно.
проходит ли условие в if, корректно ли написан SQL запрос (само собой тебе ведь его нужнно адаптировать под свою БД)
#11. JESOD Off (1)
Участник
2010.04.09 20:08
Короче не вышло так, намучался и забил на это дело. Сейчас сидел вечерком и наковырял Гг Кому-то может пригодится:
Код:
span style="color: #0000BB"><?php###################################### All rights reserved © 2010 ######## Gemorroj AND mod JESOD ########################################### Подсчёт времени, проведённого на сайте ##session_start(); //незнаю обязательно ли это, не стал заморачиватьсяif ($_SESSION['time'] && $_SESSION['time'] > $_SERVER['REQUEST_TIME'] - 300) {## записал в отдельную переменную это разницу, т.к. что то не шло как Gemorroj дал ##$raznica = $_SERVER['REQUEST_TIME'] - $_SESSION['time'];## ну тут уже запись в БД настроил ##mq('UPDATE `users` SET `time_online` = `time_online` + '.$raznica.' WHERE `id` = '.$user_id.' ');} ## Обязательно надо было убить время начала сессии, по другому не будет нормально работать ##unset ($_SESSION['time']);## и далее по кругу ##$_SESSION['time'] = $_SERVER['REQUEST_TIME']; ## Копирайт Гг вверху - это так, для протокола Ыы ##?>
#12. Gemorroj On (107)
Administrator
2010.04.09 20:08
JESOD написал:
## Обязательно надо было убить время начала сессии, по другому не будет нормально работать ##
глупости, ты же эту переменную все равно ниже переопределяешь. И создавать переменную $raznica не нужно, т.к. ее резултат прямиком записывается в БД и нигде более не используется.
#13. JESOD Off (1)
Участник
2010.04.09 22:10
Это ведь не цикл идет что должен быть круг и перезапись переменной. Всеравно значение time идет выше и надо глушить первое значение. Ради интереса сам попробуй.
#14. AND Off (11)
Участник
2010.04.10 00:12
lol
http://www.php.su/learnphp/vars/
#15. Gemorroj On (107)
Administrator
2010.04.10 00:12
JESOD, лучше не спорь, ага... Ты в ОДНУ область памяти (поэтому и названия переменных одинаковые) пишешь данные.
#16. JESOD Off (1)
Участник
2010.04.10 12:12
Ладно. Но не шло реально.
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.016 s