Когда пользователи логинятся на сайт, насколько я понимаю, ихние IP адреса добавляются в список онлайновых. Вопрос №1: какой это должен быть тогда список? таблица в БД или список каких-то открытых соединений с компьютерами пользователей? №2: в принципе есть ли вобще такое явление соединений в интернете? №3: как должен мой сайт определять которые из пользователей всё ещо онлайн, если пользователи "не выходят"? по времени последнего действия пользователя? либо есть какая-то возможность получить информацию о том что связь с пользователем не осуществяется? либо ещё какие-то методы??? Буду благодарен за представления решения следущей небольшой задачки: If пользователь онлайн then {echo $имя} else {echo "гость"} ;
Ares Своя система сессий нужна или отдельная система исключительно для определения зверьков онлайн. У меня своя система сессий, сессии PHP не использую.
Что за бред, моя методика не эффективна и не общепринята чтоли. =) Этот форум по той же "методике" устроен, просто реализация разная.
Обычно на форуме стоит тайм-аут в 15 минут. То есть, когда человек заходит на форум, то он заносится в бд с временной меткой. Когда заходит следующий - берутся данные из этой таблицы (устаревшие записи удаляются) и пользователю показываются юзеры "онлайн".
Для создания системы сессий на динамических страницах сайта (в начале страниц) необходимо включать сессию? Как лучше генерировать имена сессий юзерам $a?
И вопрос по передаче переменных. Для передачи переменные записываются в суперглобальные масивы. Эти масивы записаны на хост сервере? Если да то они являются одинаковыми для всех... Не сказывается ли тогда это на персональных даных(не "перемешиваются" ли они) если они передаются по одинаковым переменным?
> как должен мой сайт определять которые из пользователей всё ещё онлайн никак. это невозможно определить средствами http1.1
Угу, но можно проверять активность пользователя, "уникально" опознать зверька можно. Если ~5 минут не было активности значит ушёл. =) php умный, он такого не допустит
Я с сессиями не разобрался. Для роботы юзера в режиме сесии что мне нужно зделать? преобразовать ссылки по сайту следущим образом? и добавлять в код страниц: ? Но если у юзера включены куки => SID не генерируется(как я вычитал). <= тут непонятка. Создавать условие? Как через куки я вобще не нашол примеров( По моим соображениям, SID нужен для того чтобы идентифицировать сесии. Как происходит процес ведения сессий? опишите плз. Составлю по своему пониманию, а вы меня исправте если не так: 1. Юзер конектится с сайтом и ему присваивается SID. Если включены куки тогда что? 2. Соответственно SID влечот за собой создание файла переменных для работы с пользователем. Этой сессии можно задать имя функцией session_name ("Session") для удобства. 3. При движении юзера по сайту все переменные, определённые в функции session_register("var1, var2"), автоматически сохраняются в файл сессии. И при дальнейшей работе переменные сохраняют своё значение на всех страницах где они зарегестрированы тойже функцией session_register $var1, $var2. 4. Сессия удаляется по истечении времени заданому в функции session_handler_gs(int $maxtime). Как можно вывести список сессий и определить существование определённой сессии(по параметру в ней $user_name)? Задаю вопросы скопом ибо долго жду ответов. Простите уж :roll:
Ares, в начале страницы делаешь session_start(); потом, что что хочешь сохранить в сессию, кладешь в массив $_SESSION все, что хочешь прочитать из сессии, читаешь из массива $_SESSION Все. После каждого session_start(); сохраняй в базу пару session_id(); и time(); - потом выборкой по time() смодешь узнать нужное кол-во.
Горбунов Олег А сессии для каждого юзера будут уникальными? По умолчанию имена сессий ведь PHPSESID. Это в моем сомнительном самоучебнике написано что переменные перемешаются если не задавать перед session_start(); session_name(); session_id(); - это SID? Хм. И очищать базу от "долгонеактивных" в этой же выборке?
ВЫКИНЬ ЭТОТ УЧЕБНИК. Да. Это функция возвращает SID. Если бы они были не уникальными, они были бы нахрен не нужны. Например. Или модернезировать таблицу, и тогда можно будет хранить для статистики например... но это уже все depends to you.
к чему такие извращения? достаточно лишь прописать в .htaccess хранить сессии в sqlite базе, а с ней уж делайте что хотите
Всётаки с передачей не разобрался Элементарный пример. Из одной сраници передаём значение переменной в другую: Результат нажатия кнопки "go!":