Autor Zpráva
session
Profil *
Ahoj,
mám jednu stránku s loginem uživatelů. Všechno funguje bez problému, až na to,
že se mi doba timeoutu u session sama neobnovuje - vždy dojde k vypršení
session
v nastaveném čase v php.ini

Registraci session provádím takto:

session_start();
session_register(usname);
session_register(IDC);
session_register(opravneni);
$_SESSION["usname"] = $jmeno . " " . $prijmeno;
$_SESSION["IDC"] = $id;
$_SESSION["opravneni"] = $opravneni;


s tím, že si uložené proměnné průběžně volám ve skriptech ze session takto:

session_start();
$uzivatel = $_SESSION["usname"];
$id = $_SESSION["IDC"];
$opravneni = $_SESSION["opravneni"];

Tato stránka je průběžně při práci uživateleobnovována, tudíž
očekávám, že je průběžně obnovován čas platnosti uložené session, ale bohužel tomu tak není.
(dle php.ini by měla vydržet v platnosti při nečinosti 1440 sekund?)

Php.ini v sekci session vypadá následovně:

Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_start On Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 1440 600
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 600
session.gc_probability 0 0
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies On On
session.use_trans_sid 0 0


poradí někdo kde je chyba?
Není v PHP nějaká fce pro nastavení času vypršení session - aby šla průběžně
udržovat.

Předem díky za radu
Davex
Profil
Nejlepší by asi bylo prodloužení platnosti session, ale obnovit jde také.

# prodloužení platnosti session
session_set_cookie_params(20000, NULL, NULL, FALSE, TRUE);
session_start();

# obnova session
session_regenerate_id();

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: