Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dziwna sprawa z sesją, Dziwna sprawa z sesją
kkowalskipl
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 8.08.2011

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


Jeśli chodzi o rejestrację zmiennej sesyjnej kod wygląda tak:
  1. if (@empty($_SESSION['id'])) $_SESSION['id'] = 0;


  1.  
  2. public function logoutUser()
  3. {
  4. if (@$_GET['logout'] == 1)
  5. if ($_SESSION['id'] != 0) {
  6. $_SESSION['id'] = 0;
  7. return $return = 'Wylogowano pomyślnie';
  8. }
  9. }
  10.  
  11. public function mainPage()
  12. {
  13. $return = $this -> pole;
  14. $return .= $this -> logoutUser();
  15.  
  16. if ($_SESSION['id'] != 0) {
  17. $return .= 'Użytkownik zalogowany to: <strong>'.$_SESSION['id'].'</strong>';
  18. $return .= ' [<a href="?logout=1">Wyloguj</a>]';
  19. }
  20. return $return.'<br />';
  21. }


Dlaczego po ustawieniu $_SESSION['id'] = 0; return który znajduje się linijkę niżej nie jest wykonywany?
Chodzi mi o to, że później gdy wykonuję $return .= $this -> logoutUser(); przypisuje pustą wartość a nie tekst 'Wylogowano pomyślnie'.
Sprawa na pewno dotyczy sesji, bo sprawdzałem linijka po linijce usuwając i zostawiając różne rzeczy.
Warunek if ($_SESSION['id'] != 0) jest wykonywany na pewno, bo jak zostawie samego return'a to kod działa.

Dodatkowo jak chcę wyświetlić zawartość sesji (w dowolnym miejscu):
  1. print $_SESSION['id'].';';

wyświetla mi 52;0;
52 - to id aktualnie zalogowanego użytkownika

Ten post edytował kkowalskipl 10.08.2011, 14:57:30
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 06:38