Autor | Zpráva | ||
---|---|---|---|
Fastman Profil |
#1 · Zasláno: 22. 1. 2015, 07:42:13
Zdravím,
Popíšu mojí situaci. Uživatel přijde na stránku a vyplní nick -> odešle ho to na stránku xxx.php kde si ještě proměnná $nick pamatuje jeho nick, ale když vyplní stránku a dá znova odeslat, tak už si to jeho nick nepamatuje pod proměnou $nick (prázdné pole) - respektive to obnoví stejnou stránku xxx.php po odeslání a vyhodnotí. Ještě mě napadlo zkusit místo metody POST třeba SESSIONS. Zkusil jsem if(isset($_POST['name'])) { $name = stripslashes(htmlspecialchars(trim($_POST['name']))); if($name == '') { unset($_SESSION['$name']); } } Bohužel nepomohlo. Díky všem za odpovědi. |
||
Keeehi Profil |
#2 · Zasláno: 22. 1. 2015, 08:21:40
Ano, proměnné nejsou perzistentní ("zapomínají se před každým novým požadavkem"). Aby jsi je uchoval i mezi přechody, chtěl jsi na to správně použít session. Bohužel ne úplně správně. Záleží jakou potřebuješ logiku, ale mohlo by to vypadat třeba takto:
$name = null; if(isset($_POST['name'])) { $name = trim($_POST['name']); $_SESSION['name'] = $name; } elseif (isset($_SESSION['name'])) { $name = $_SESSION['name']; } // tady už je proměnná $name vždy. Pokud uživatel teď nebo někdy předtím vyplnil jméno, tak je teď v $name, jestli ne, tak je v $name NULL Toto řešení předpokládá zapnuté session.auto_start, jinak by ještě před vším mělo být session_start()
|
||
Fastman Profil |
#3 · Zasláno: 22. 1. 2015, 08:28:52
Díky moc! Funguje.
|
||
Časová prodleva: 10 let
|
0