Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wylogowanie i odświeżenie w OPERZE
Forum PHP.pl > Forum > Przedszkole
Mlodycompany
Witam. Mam opere i z niej korzystam. Gdy klikam wyloguj na stronie, sesja jest niszczona ale nie odświeża strony a powinno. W czym jest problem?? 

  1. <?php
  2. if($_GET['action'] == 'logout'){
  3.  header("Location: ".$_SERVER['HTTP_REFERER']."");
  4. }
  5. ?>
wookieb
Kod
        Witam. Mam opere i z niej korzystam.

Witam. Mam alkohol i jestem alkoholikiem tongue.gif

Nie odświeża czy przenośi odrazu na adresz z referera?
Daj die('test'). po headerze.
Mlodycompany
hehe

dałem die('test'); i gdy klikne pojawia mi się biała strona z "test" biggrin.gif
wookieb
Tzn ze nie ma http_referrer.
Sprawdz zawartosc tej zmiennej
Kod
print_r($_SERVER);
Mlodycompany
Słuszna racja, nie ma http_referer, ale przecież powinna być bo strona jest normalnie wczytywana. Czy ktoś ma jakiś inny pomysł jak to rozwiązać. Myślałem nad header("Location: index.php"); ale raczej chciałbym aby kogoś przenosiło na tą strone z której się wylogował.
golaod
Pracujesz na bazie mysql ? Jeśli tak to dodatkowe pole dla usera: last_page czy tam last_url
Wtedy po wylogowaniu header z last_page.
EOF
paziek
if(jest_http_referer) przenieś_na_tą_strone_z_ktorej_sie_wylogowal
else przenies_na_index

Ewentualnie zapisuj do sesji gdzie aktualnie się znajduje i przy $_GET['action'] == 'logout' po prostu tego nie zmieniaj, tylko użyj (pamiętaj, aby skopiować do jakiejś zmiennej przed zniszczeniem sesji)
pyro
Cytat(golaod @ 15.08.2008, 11:57:28 ) *
Pracujesz na bazie mysql ? Jeśli tak to dodatkowe pole dla usera: last_page czy tam last_url
Wtedy po wylogowaniu header z last_page.
EOF


i po co obciążać dodatkowo bazę?

Cytat
if(jest_http_referer) przenieś_na_tą_strone_z_ktorej_sie_wylogowal
else przenies_na_index


Przecież autor mówi, że tego referera nie ma w $_SERVER['HTTP_REFERER'];

Co robić? Ja proponuję utworzenie:

$_SESSION['current_page']; - zmienna przechowująca adres aktualnie wyświetlanej strony
$_SESSION['last_page']; - zmienna przechowująca statnio wyświetlonej strony -> tam będzie przekierowanie
Mlodycompany
zrobiłem przekierowanie na index.php i już biggrin.gif
paziek
Cytat(pyro @ 15.08.2008, 12:07:10 ) *
Przecież autor mówi, że tego referera nie ma w $_SERVER['HTTP_REFERER'];
Jeśli ktoś wyłączy wysyłanie to go nie ma. Nie ma jednak sensu karać z tego powodu wszystkich, stąd też instrukcja if else

Co do
Cytat(pyro @ 15.08.2008, 12:07:10 ) *
$_SESSION['current_page']; - zmienna przechowująca adres aktualnie wyświetlanej strony
$_SESSION['last_page']; - zmienna przechowująca statnio wyświetlonej strony -> tam będzie przekierowanie
Po co aż dwie zmienne? Do tego jeszcze sesje są zapisywane na dysku, więc masz zajęty ram i więcej I/O na dysku - wystarczy jedna snitch.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.