Autor | Zpráva | ||
---|---|---|---|
Apostolus Profil |
#1 · Zasláno: 13. 2. 2007, 15:28:54
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 |
#2 · Zasláno: 13. 2. 2007, 15:37:40
Apostolus
Zkus dát za to přesměrování exit; |
||
Pavel Strejček Profil |
#3 · Zasláno: 13. 2. 2007, 15:41:34
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 |
#4 · Zasláno: 13. 2. 2007, 15:43:09
Respektive to nastane vždy.
|
||
Pavel Strejček Profil |
#5 · Zasláno: 13. 2. 2007, 15:48:30
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 |
#6 · Zasláno: 13. 2. 2007, 17:32:42 · Upravil/a: Apostolus
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 |
#7 · Zasláno: 13. 2. 2007, 18:31:08
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 |
#8 · Zasláno: 13. 2. 2007, 18:42:24
děkuju
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0