|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » маленький вопросик про сессии |
|
маленький вопросик про сессии
|
Старожил Сообщения: 236 |
Профиль | Отправить PM | Цитировать есть
session_start(); $_SESSION['last']="last"; $_SESSION['new']="new"; как распечать на экране заведенные сессии если я незнаю названий их элементов в массиве?? т.е. на экране должно быть: last new вариант с echo $_SESSION[0].$_SESSION[1] не проходит((( подскажите плз |
|
Отправлено: 21:51, 21-10-2004 |
Пользователь Сообщения: 84
|
Профиль | Отправить PM | Цитировать Мне почему-то кажется, что это должно тебе помочь:
foreach ($_SESSION as $key => $value) echo "Key: $key; Value: $value<br />\n"; |
------- Отправлено: 23:34, 21-10-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 236
|
Профиль | Отправить PM | Цитировать не, не помогло
идея такая, я хотел сделать мониторинг тех кто присутствует из зарегиинных на сайте. т.е. для каждого авторизированого: session_start(); $_SESSION['nick']="индивидуальный ник или логин"; а на другой страничке я хотел сделать чтото типа печать всех $_SESSION['nick'] которые заведены в течении 24 минут. П.С. 24 минуты, это значение по умолчанию столько максимум хранится сессия после последнего отправления с браузера посетителя до сервера(проще говоря с момента последнего обновления) Добавлено: можно после session_start(); $_SESSION['nick']="индивидуальный ник или логин"; записывать $_SESSION['nick'] в файл и тогда получится файл имен тех кто на сайте. но как проследить когда ктото ушел с сайта, отключился от интернета и удалить его имя из файла?? |
Отправлено: 20:57, 23-10-2004 | #3 |
Пользователь Сообщения: 84
|
Профиль | Отправить PM | Цитировать Переменная $_SESSION уникальна для каждой сессии. В этом ее смысл. Ты не сможешь со своей отдельной страницы получить информацию о сессиях пользователей, находящихся на сайте. Долее того, если ты запустишь две копии браузера на своем компьютере, то для каждого из них будет создана своя переменная $_SESSION.
session.gc_maxlifetime о которой ты говоришь, это время, через которое сессия считается устаревшей, но это еще не значит, что информация о ней будет сразу же удалена с сервера. Это (уборка мусора) происходит периодически. Почитай о session.gc_probability и session.gc_divisor. Идея хранить список пользователей в файле хороша, но спешу огорчить - не нова. В PHP есть готовый механизм для работы с сессиями, и ты движешься в правильном направлении. Все сессии всех пользователей (по умолчанию) сохраняются в отдельные файлы (можно организовать их хранение и в MySQL). Анализируя эти файлы ты как раз и можешь получить информацию о всех пользователях на твоем сайте. Вот только одно но: ты не можешь узнать (в общем случае) о том, что человек покинул сайт. Об этом можно судить лишь по времени его бездействия (и соответственно, по времени последнего изменения его файла сессии на диске). Если организовать хранениее сессий в БД, то, как мне кажется, информацию об активности пользователей можно будет извлекать быстрее и удобнее. [s]Исправлено: Oaxa, 23:27 23-10-2004[/s] |
------- Отправлено: 23:17, 23-10-2004 | #4 |
Старожил Сообщения: 236
|
Профиль | Отправить PM | Цитировать о которой ты говоришь, это время, через которое сессия считается устаревшей, но это еще не значит, что информация о ней будет сразу же удалена с сервера. Это (уборка мусора) происходит периодически Все сессии всех пользователей (по умолчанию) сохраняются в отдельные файлы (можно организовать их хранение и в MySQL) а разве программно не хранится ни в какой переменной все переменные для каждого пользователя SESSION ? разве нет глобального массива?(( [s]Исправлено: FADE, 23:35 23-10-2004[/s] |
|
Отправлено: 23:34, 23-10-2004 | #5 |
Пользователь Сообщения: 84
|
Профиль | Отправить PM | Цитировать FADE
Цитата:
Цитата:
Цитата:
Цитата:
оффтопик: Оверквотинг оверквотинга оверквотингом не является [s]Исправлено: Oaxa, 0:02 24-10-2004[/s] |
||||
------- Отправлено: 23:45, 23-10-2004 | #6 |
Старожил Сообщения: 236
|
Профиль | Отправить PM | Цитировать Oaxa
а все, понял почему у меня нет папки tmp, я в ини файле не раскоментировал строку ;session.save_path = /tmp а вот в папке с пхп, есть какаето папка sessiondata там тоже какието сессии хранятся, там что? Добавлено: т.е. для того чтобы проследить потерял ли связь с сервером один из посетителей я должен написать цикл в 1000 вызовов сесионстарт?) ну допустим это реально, а как опять же сделать так что если файл в tmp - мусор тотакоето имя в мониторинге посетителейсайта стирается из файла? |
Отправлено: 11:20, 24-10-2004 | #7 |
Пользователь Сообщения: 84
|
Профиль | Отправить PM | Цитировать FADE
Цитата:
Цитата:
Я бы решал эту задачу так (вариант с MySQL не рассматриваю): я бы читал содержимое папки /temp, выбирал бы из нее файлы сессий, смотрел бы время последнего изменения этих файлов, выбирал бы только те, которые были изменены за последние 24 минуты (или 5 минут, или 10) и дальше читал бы из них имена пользователей. Если файл был изменен за последние 24 минуты, значит пользователь на сайте проявлял какую-то активность и с большой степенью вероятности можно предполагать, что он на сайте. |
||
------- Отправлено: 15:13, 24-10-2004 | #8 |
Старожил Сообщения: 236
|
Профиль | Отправить PM | Цитировать все файлы в папке sessiondata весят 0 кб а названия их - сесии.
откуда читать имя сессии? а хостер всегда разрешает доступ к этой папки из скрипта на сайте? |
Отправлено: 17:37, 24-10-2004 | #9 |
Пользователь Сообщения: 84
|
Профиль | Отправить PM | Цитировать FADE
Цитата:
В в файле .htaccess укажи примерно следующую директиву: P.S. Настоятельно рекомедую почитать внимательно все комментарии в php.ini, там все достаточно подробно описано. Вау! Я получил Junior Member [s]Исправлено: Oaxa, 19:40 24-10-2004[/s] |
|
------- Отправлено: 19:39, 24-10-2004 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Один вопросик про видео карту. | Sandstorm | Видеокарты | 9 | 05-01-2010 15:38 | |
маленький вопросик | Romulandrem | WSUS | 7 | 19-02-2009 06:39 | |
[решено] Про принтер HP LJ 1022 (Проблемы в терминальной сессии) | Anna89 | Microsoft Windows NT/2000/2003 | 18 | 21-06-2006 09:14 | |
Вот вопросик про винды. | Makanaki | Microsoft Windows 2000/XP | 9 | 12-01-2004 23:44 | |
Маленький CD-R | Father | Хочу все знать | 4 | 12-03-2002 23:37 |
|