Autor Zpráva
Apostolus
Profil
mám script pro odhlášení, jenže pokud se odhlásím vidím bílou stránku. Chtěl bych se odhlásit a aby mě to hodilo na index.php...prosím, co bych měl udělat


<?php
session_start();

if (true != isset($_SESSION[ID]) AND (substr($_SERVER['PHP_SELF'], -10) != 'odhlasit.php'))
{
header ("Location: http://".$_SESSION[HTTP_HOST].dirname($_SERVER[PHP_SELF])."/index.php" );
}
else
{
unset($_SESSION[ID]);
session_destroy();
setcookie('PHPSESSID', '', time() - 300, '/', '', 0);
}
?>
Casero
Profil
Apostolus
Zkus dát za to přesměrování exit;
Pavel Strejček
Profil
tohle nemůže nikdy nastat, 'odhlasit.php' je delsi nez 10 znaku:
if (true != isset($_SESSION[ID]) AND (substr($_SERVER['PHP_SELF'], -10) != 'odhlasit.php'))
Pavel Strejček
Profil
Respektive to nastane vždy.
Pavel Strejček
Profil
Proč se to nevykoná, zjistíš, když napíš před if:
print_r($_SESSION);

Vůbec je to celé podivné, odhlásit se chceš při splnění podmínky v ifu nebo v else?
Apostolus
Profil
proč je to podivný? pokud není žádná session tak to přesměruje...pokud je tak jí zruší

když dám refresh tak se mi to krásně vrátí na index ale jinak ne
sicario
Profil
V pripade, ze je kod ulozen v souboru odhlasit.php, nechapu proc je testovan jeho nazev.
Celkove je ta podminka nejaka divna...
Zjednoduseni by mohlo vypadat treba takto:
session_start();
if (isset($_SESSION['ID'])){
// session_destroy atd....
}
header('Location http://....');
exit;

V pripade ze ID je konstanta, tak pujdou ty uvozovky pryc...
Apostolus
Profil
děkuju
Toto téma je uzamčeno. Odpověď nelze zaslat.