Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Сессии |
Автор: SkyAleks 25.1.2006, 18:10 |
Есть страничка к которой обращаются пользователи. Можно ли как-то с помощью сессий определить что к этой страничке в данный момент уже обращён какой-нибудь пользователь(с другой машины)? Тоесть если на данный момент к страничке обращен кто-то то выводиться сообщение об этом. Если можно, то как это реализовать? |
Автор: R.M. 26.1.2006, 01:54 |
Bikutoru Проще тогда менять в записи 0 на 1 при приходе и 1 на 0 при уходе (можно кнопку выхода сделать) |
Автор: Bikutoru 26.1.2006, 09:48 | ||
Имхо, лучше хранить информацию о пользователях, зашедших на страницу (IP, IP + какие-то отправленные браузером заголовки, идентификатор сессии или логин пользователя, если доступ осуществляется для зарегистрированных пользователей). Понять по этим данным, есть здесь кто-то или нет, элементарно, а если вдруг потребуется определять, кто именно здесь есть, то переделывать придется немного :-) Можно, но без таймаута все равно не обойтись, т.к. не факт, что ее нажмут... Можно, конечно, Javascript'ом на onunload что-то повесить, но не факт, что JS будет включен. Да и таймаут не панацея - пользователь может открыть страницу и уйти погулять на часок, таймаут прошел, пользователь удален из списка "здешних", а страница открыта. Можно, конечно, сделать, чтобы каждую минуту (например) с помощью JS серверу посылалось сообщение, что пользователь открыл страницу, но это точно лишняя нагрузка на сервер. Т.е. гарантированно определить, что пользователь ушел со страницы нельзя. |
Автор: SkyAleks 27.1.2006, 17:43 |
Я сделал так - В базу записываю айпиху и время.. при заходе на страницу просто смотрю есть ли запись в базу которая была внесена не позже 10 минут назад. если есть то Нужное мне действие, а также просто удаляю все записи из базы у которых время больше 10 минут. |