Autor Zpráva
Holicz
Profil
Zdravím,

mám v každém souboru include s login.php, ten obsluhuje registrace, přihlašování, odhlašování, zapomenuté heslo a tyhle drobnosti. Výpis má vždy v hlavičce webu a mám to udělané tak, že když se odhlásí i přihlásí, zůstane na stejně stránce (proběhne přihlášení / odhlášení a přesměruje ho to na $_SERVER["PHP_SELF"];. To odhlašování mám udělané tak, že pokud je vytvořen $_GET['odhlasit'], tak ho to odhlásí. Vždy to fungovalo, v hlavičce jsem klikl na odhlásit, přesměrovalo mě to na adresu na které se nacházím?odhlasit=ok proběhlo odhlášení a přesměrování na adresu, na které jsem se nacházel. Funguje to, ale jen v rootu webu. Pokud to udělám v nějaké podsložce, odhlašování nefunguje. Přihlašování ovšem ano.

Část login.php s odhlašováním vypadá takto
if(isset($_GET['odhlasit'])){
setcookie ("nick", "", time() - 3600);
    $adresa = $_SERVER["PHP_SELF"];
    header('Location: '.$adresa.' ');
}
candiess
Profil
Holicz:
setcookie("nazev", "hodnota", time()+3600, "/");
4. parametr nám udává, pro který adresář to platí, ve výchozím stavu to platí pouze pro aktuální, tímto zápisem to nastavíte na root.
Holicz
Profil
candiess:
Asi jsem to špatně vysvětlit, nechci to jen v rootu, můj problém je, že tlačítko odhlásit funguje jen v rootu, jinde ne. (prázdná hodnota a time()-3600 je úmyslně, má to odhlašovat)
candiess
Profil
Holicz:
Právě proto, tento zápis vám COOKIE zpřístupní do všech adresářů, tudíš s ní můžete manipulovat i v jakémkoliv adresáři. time()-3600 je správně, tu cookie co jsem uvedl byla pouze z ukázkových důvodů.
Holicz
Profil
Aha, tak jste to myslel. Děkuji, funguje to.

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: