[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Продлить существование сессии?
kinomuza
Решил вместо регистрации на сайте сделать случайную генерацию сессии вот так:

session_start();
if ($_SESSION['id']==0)
{$_SESSION['id']=mt_rand(100000000,999999999);}


и все бы ничего, но срок такой сессии несколько часов. Даже если сайт не закрывался через какое то время сессия пропадает.

Как можно продлить сессию для одного пользователя?

Пробовал по ip, но в офисах, где компы работают через один сервер имеют один ip на несколько человек.



Спустя 9 минут, 22 секунды (1.12.2009 - 10:06) ApuktaChehov написал(а):
ini_set('session.gc_maxlifetime', 120960); - задает время жизни.
или лезешь в php.ini и там правиш session.cookie_lifetime.

Спустя 4 часа, 49 минут, 15 секунд (1.12.2009 - 14:56) kinomuza написал(а):
Цитата (ApuktaChehov @ 1.12.2009 - 07:06)
ini_set('session.gc_maxlifetime', 120960); - задает время жизни.
или лезешь в php.ini и там правиш session.cookie_lifetime.

Делаю так:


session_start();

if ($_SESSION['id']==0)
{$_SESSION['id']=mt_rand(100000000,999999999);
}
ini_set('session.gc_maxlifetime', 120960);


Но где то через час сессия все равно меняется.

Спустя 17 минут, 50 секунд (1.12.2009 - 15:13) ApuktaChehov написал(а):
Какие настройки куков?
И что значит "сессия меняется"?
если поставить session.cookie_lifetime = 0, сессия будет длиться до закрытия браузера.

еще смотри session.gc_maxlifetime - максимальное кол-во времени между запросами к серверу, в секундах.
Если время истекает, сессия автоматом уничтожается.

Спустя 3 минуты, 9 секунд (1.12.2009 - 15:17) Семён написал(а):
Используй буквы чтоли в генерации ID.

Спустя 6 минут, 41 секунда (1.12.2009 - 15:23) ApuktaChehov написал(а):
Опа.. до меня только что дошло.
А зачем ты делаешь случайную генерацию сессионной id, когда id сессии и так каждый раз уникальный?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.