Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwna sprawa z sesją
Forum PHP.pl > Forum > Przedszkole
kkowalskipl
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
Smertius
W jakim celu tłumisz błędy używając @?
wookieb
To ma taki związek z OOP co ty z umiejętnością poznania manuala oraz podstaw języka.
Przenoszę.
kkowalskipl
Już sobie poradziłem, problem dotyczył jeszcze czegoś innego wink.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.