Portál AbcLinuxu, 13. května 2025 22:39
Řešení dotazu:
session_start(); session_unset(); session_destroy(); $_SESSION = array();a trochu číst manuál :)
- Uložím údaje do session a smažu veškeré proměnné POST $_SESSION['user'] = $_POST['user']; $_SESSION['user-login'] = time(); unset($_POST); - Zkontoluji jestli může user do systému if (!empty($_SESSION['user'])) { ..... kod po přihlášení ..... } - Odhlásím usera http://domain.ltd/logout/ a v souboru logout je session_unset(); session_destroy(); $_SESSION = array(); echo "Odhlášení proběhlo v pořádku"; teď se vrátím tlačítkem back na předchozí stánku a když dám f5, tak se okamžitě vytvoří obě dvě session. Když nedám f5 ale zadám tuto stejnou adresu do url a dam enter tak se session nenačte ale zobrazí se formulář pro přihlášení(toto je v pořádku) ale to f5 nechápu.Děkuji za pomoc
- Uložím údaje do session a smažu veškeré proměnné POST
Když dáš reload tak se samozřejmě ten post odešle znovu, tudíž tě to opětovně přihlásí ne?
session_regenerate_id()
.unset($_POST)
; je divné, raději $_POST = array();
, i když nevím proč to :)
print_r($_POST); if (isset($_POST['name'])) { echo 'Ha, ha, porad ziju, me neznicis'; } print "Výpíše něco jako:
\n"; $_POST = array(); if (isset($_POST['name'])) { echo 'Ha, ha, porad ziju, me neznicis'; } print_r($_POST);
Array ( [name] => Send ) Ha, ha, porad ziju, me neznicis Array ( )Přičemž v prvním řádku je to co došlo z formuláře a v druhém, obyčejně zbytečně, vyprázdněné pole.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.