Autor Zpráva
Fastman
Profil
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
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
Díky moc! Funguje.

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: