Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сессии
 
 автор: Alexandor1984   (12.07.2006 в 00:47)   письмо автору
 
 

Всем привет. Подскажите, как решить проблему?
Проблема: когда user попадает на определенную страницу сайта, то к нему создается сессия и файл этой сессии. Вот он там смотрит, что-то клацает, а сессия существует и ее файл тоже. И вот user закрывает окно браузера, его сессия пропадает, а вот файл этой сессии остался. Вопрос: Как сделать, чтоб и файл сессии тоже удалялся сразу после закрытии окна браузера?

   
 
 автор: Саня   (12.07.2006 в 06:19)   письмо автору
 
   для: Alexandor1984   (12.07.2006 в 00:47)
 

Файлы сессии удаляются при вызове session_destroy() или сами, через некоторое время, если сессия не проявляла какую-либо активность.

   
 
 автор: Alexandor1984   (12.07.2006 в 09:30)   письмо автору
 
   для: Саня   (12.07.2006 в 06:19)
 

Как узнать время существования файлов сессии или может можно задать время существования?

   
 
 автор: Boss   (12.07.2006 в 09:35)   письмо автору
 
   для: Alexandor1984   (12.07.2006 в 09:30)
 

imho Когда вы закрываете браузер, то сессия (это файл на диске) удаляеться автоматически.

А почему просто не проверить, существует ли сессия?


<?
if (isset($_SESSION['mysess']))
{
     echo 
"Ссесия существует";
}
?>

   
 
 автор: valenok   (12.07.2006 в 10:05)   письмо автору
 
   для: Boss   (12.07.2006 в 09:35)
 

Потому что пользователь уже ушёл.
Кто будет проверять?

   
 
 автор: Boss   (12.07.2006 в 10:12)   письмо автору
 
   для: valenok   (12.07.2006 в 10:05)
 

Ну ушел, ушел. Файл удалился (или удалиться через некоторое время автоматически). А какой смысл проверки существования файла?

   
 
 автор: valenok   (12.07.2006 в 10:19)   письмо автору
 
   для: Boss   (12.07.2006 в 10:12)
 

Не знаю. Мне это не зачем.

   
 
 автор: Alexandor1984   (12.07.2006 в 13:23)   письмо автору
 
   для: Boss   (12.07.2006 в 10:12)
 

Ого, дискуссия. Вобщем идея в том, чтоб отслеживать, сколько посетителей висит на сайте. Вот я и решил считать файлы сессий. Может это бредовая идея? Подскажите, как еще можно отслеживать количество посетителей?

   
 
 автор: hell_riser   (12.07.2006 в 13:29)   письмо автору
 
   для: Alexandor1984   (12.07.2006 в 13:23)
 

Смотрите в разделе downloads пример скрипта, кто онлайн :-)

   
 
 автор: Loki   (12.07.2006 в 16:02)   письмо автору
 
   для: Alexandor1984   (12.07.2006 в 13:23)
 

Если у вас свой сервер, то такой вариант прокатит. В противном случае, будете получать всех посетителей хостера - каталог tmp-то для всех общий...

   
 
 автор: Trianon   (12.07.2006 в 17:01)   письмо автору
 
   для: Loki   (12.07.2006 в 16:02)
 

почему это общий?

   
 
 автор: Loki   (12.07.2006 в 18:26)   письмо автору
 
   для: Trianon   (12.07.2006 в 17:01)
 

Засомневался... проверил на двух хостингах... общий... уточнил у админа - он подтвердил.

   
 
 автор: valenok   (12.07.2006 в 10:08)   письмо автору
 
   для: Alexandor1984   (12.07.2006 в 09:30)
 

Можно найтив в phpinfo() в разделе сессий
session.gc_maxlifetime

session.cookie_lifetime
session.cache_expire

Ну следовательно там же подкорректировать.

   
 
 автор: Boss   (12.07.2006 в 09:34)   письмо автору
 
   для: Саня   (12.07.2006 в 06:19)
 

Помоему еще сессия удаляется при закрытии браузера?

   
 
 автор: valenok   (12.07.2006 в 10:09)   письмо автору
 
   для: Саня   (12.07.2006 в 06:19)
 

Ну session_destroy это если пользователь съизволил нажать на кнопку "выход"

   
 
 автор: Boss   (12.07.2006 в 10:26)   письмо автору
 
   для: valenok   (12.07.2006 в 10:09)
 

Ну это понятно... =)

   
 
 автор: valenok   (12.07.2006 в 10:29)   письмо автору
 
   для: Boss   (12.07.2006 в 10:26)
 

Возможно удалять файлы нужно чтобы съэкономить место на диске..

   
 
 автор: Boss   (12.07.2006 в 10:36)   письмо автору
 
   для: valenok   (12.07.2006 в 10:29)
 

Верно, ведь их объем измеряется в Мб.... =))

Помоему, нада на это забить...

   
 
 автор: valenok   (12.07.2006 в 12:35)   письмо автору
 
   для: Boss   (12.07.2006 в 10:36)
 

$_SESSION['variable']='hello';
$_SESSION['authorized']='TRUE';
$_SESSION['user_name']='Sasha';
$_SESSION['login_time']=time();
$_SESSION['user_id']='5624';
$_SESSION['variable2']='hello2';
$_SESSION['variable3']='hello3';

Файл размером 1 кб.
Я предпочитаю его автоматическое удаление через 25 минут.

   
 
 автор: Alexandor1984   (12.07.2006 в 13:27)   письмо автору
 
   для: valenok   (12.07.2006 в 12:35)
 

Ого, дискуссия. Вобщем идея в том, чтоб отслеживать, сколько посетителей висит на сайте. Вот я и решил считать файлы сессий. Может это бредовая идея? Подскажите, как еще можно отслеживать количество посетителей?

   
 
 автор: cheops   (12.07.2006 в 14:52)   письмо автору
 
   для: Alexandor1984   (12.07.2006 в 00:47)
 

Обычно делают не так: сохраняют идетнификаторы сессии при каждом обращении и время обращения, если пользователь не обращался более 20 минут - считают, что он ушёл.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования