Autor | Zpráva | ||
---|---|---|---|
Jcas Profil |
#1 · Zasláno: 22. 6. 2014, 01:39:28
Na odhlášení po uplynutí času mám toto:
if(!isset($_SESSION['user'])) { // - není přihlášen session_unset(); session_destroy(); // ukonči session header("Location: ./../login.php"); // přesměruj na přihlášení } elseif($_SESSION["access_time"] < strtotime("-120 minutes")) { //vypršel čas header("Location: ./../login.php"); } Ale pokud zamrznu na dvě hodiny u formuláře a pak ho odešlu, tam mě to na login.php nepřehodí a vyhodí mi mou vlastní chybovou hlášku 1533. A to tuto. $query_user = "SELECT * FROM `USER` WHERE `nick` = '".$_SESSION['user']."'"; if ($result = $mysqli->query($query_user)) { if ($row = $result->fetch_assoc()) { $result->close(); } else { presmerujNaChybu(56, 1533); } } Nechápu proč nedojde k přesměrování na login.php |
||
lionel messi Profil |
Jcas:
Nie je to úplnou náhodou tým, že $_SESSION majú zjednodušene povedané nastavenú životnosť 24 minút? Môžem sa aj mýliť, som len amatér.
|
||
Jcas Profil |
#3 · Zasláno: 22. 6. 2014, 22:48:35
SESSION má životnost 2 hodiny. Ale i tak po uplynutí má dojít k přesměrování a není mi jasné, proč se tak nestane.
Nyní mě napadá, že pozdější část kódu by mohla předběhnout dřívější, protože jsem nepoužil exit() . To musím vyzkoušet.
I když, jak se to vezme. Funkce (function.php) načítám dřív, než provádím kontrolu SESSION. Sice tu funkci volám později, ale je definována dřív. |
||
jenikkozak Profil |
#4 · Zasláno: 22. 6. 2014, 22:54:51
Jcas:
„Sice tu funkci volám později, ale je definována dřív.“ Na tom nezáleží. Funkci můžeš v PHP definovat i až poté, co ji zavoláš. |
||
Časová prodleva: 11 let
|
0