| 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 NULLToto ř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: 11 let
|
|||
0