Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Błędne wylogowanie - zakończenie sesji
dawido000
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 28.03.2011

Ostrzeżenie: (0%)
-----


Mam 3 pliki: handlowiec.php (strona logująca) , panel_handlowy.php (strona która pojawia się po zalogowaniu) , wyloguj.php (strona zawierająca skrypt, który kończy sesję i przekierowuje do handlowiec.php)

Gdy zaloguję się na stronie handlowiec.php, dostaję się do strony panel_handlowy.php, gdzie z kolei uruchamiam link który uruchamia wyloguj.php i przekierowuje mnie na stronę logowania.

Wszystko by było ładnie pięknie, ale dlaczego bo wylogowaniu mogę dostać się przez przeglądarkę do strony panel_handlowy.php bez żadnego ponownego logowania.

Zawartość wyloguj.php:
  1. <?php
  2. $_SESSION = array();
  3.  
  4. if ($_SESSION)
  5. echo "Wylogowanie nie nastąpiło!";
  6. else
  7. header('Location: http://'.$_SERVER['HTTP_HOST'].'/handlowiec.php');
  8. ?>


Zawartość panel_handlowy.php (fragment początkowy):
  1. <?php
  2. if (!$_SESSION)
  3. {
  4. header('Location: http://'.$_SERVER['HTTP_HOST'].'/handlowiec.php');
  5. }
  6. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
muk4
post
Post #2





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Nie, nie dziwne. empty zwraca 1 dla PUSTEJ zmiennej i 0 / nic dla zmiennej w której coś jest (w tym przypadku login). Właściwie to zamiast empty powinieneś użyć isset, ale mniejsza o to.


Cytat
Wartość funkcji empty przed kasowaniem zmiennych sesji: <- tutaj jest puste czyli fałsz - zmienna nie jest pusta, czyli jest ustawiony w niej login
Wartość funkcji empty po skasowaniu zmiennych sesji: 1 <- empty zwraca 1 czyli prawdę - zmienna jest pusta / usunięta

Wynikiem przy naciśnięciu odśwież jest:

Wartość funkcji empty przed kasowaniem zmiennych sesji: 1 <- odświeżasz stronę, ale się nie logujesz więc zmienna dalej jest pusta bo ją wcześniej usunąłeś
Wartość funkcji empty po skasowaniu zmiennych sesji: 1 <- jw.


Ten post edytował muk4 11.07.2011, 12:37:29
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 20:35