Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> znikajace obiekty uzywane w sesji po przejsciu na nowa strone
Mr Groch
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.05.2005
Skąd: Knurów

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


Witam

Taki kod:

plik1
  1. require('config_class.php');
  2.  
  3. session_start(); // start sesji
  4.  
  5. if (isset($_SESSION['osoba']))
  6. {
  7. $osoba = $_SESSION['osoba'];
  8. $zalogowany = 1;
  9. }
  10. else $zalogowany = 0;
  11.  
  12. // logowanie usera
  13. if ($_POST["loged"] == "1")
  14. {
  15. $osoba = new Osoba();
  16. if ($osoba->spr_login())
  17. { // udane logowanie
  18. $osoba->load_osoba();
  19. $_SESSION['osoba'] = $osoba;
  20. $zalogowany = 1;
  21. }
  22. else
  23. { // nieudane logowanie
  24. $zalogowany = -1;
  25. }
  26. }


plik2:
  1. require('config_class.php');
  2.  
  3. session_start(); // start sesji
  4.  
  5. if (isset($_SESSION['osoba']))
  6. {
  7. $osoba= $_SESSION['osoba'];
  8. $zalogowany = 1;
  9. }
  10. else $zalogowany = 0;


Po zalogowaniu sie w plik1 osoba jest zapamietywana, niewazne ile razy odswieze strone, itd. Po przejsciu na plik2, osoba jest widoczna tylko za pierwszym razem, po odswiezeniu strony lub po powrocie na plik1 osoba jest juz pusta... Nie ma, zostal tylko slad w $_sessions - [osoba] => (tu jest nic (IMG:style_emoticons/default/smile.gif)

Ktos pomoze dojsc do tego w czym problem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mr Groch
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.05.2005
Skąd: Knurów

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


No wlasnie nie, tez tego szukalem bo wydawalo mnie sie ze to moze byc powod... W jedynym miejscu gdzie to sie dzieje dawalem do debugu echo 'sesja usuwana' i nigdy tam nie wlazil nieproszony... Dla jasnosci dam caly listing, pomijajac kawalki z html (tam zadne zmienne nie sa zmieniane, itp). Rozni sie nieco od wczesniejszego, bo zaczalem implementowac dalsza funkcjonalnosc, jednakze problem z tematu jak najbardziej aktualny, czyli tam gdzie sprawdza osobe, po odswiezeniu strony osoba jest pusta...

plik2
  1. <?php
  2.  
  3. // tj plik naglowkowy klas
  4. require('config_class.php');
  5.  
  6. session_start(); // start sesji
  7.  
  8. if (isset($_SESSION['uczestnik']))
  9. {
  10. $uczestnik = $_SESSION['uczestnik'];
  11. $zalogowany = 1;
  12. }
  13. else $zalogowany = 0;
  14.  
  15. if (isset($_SESSION['osoba']) && !(isset($_SESSION['uczestnik'])))
  16. {
  17. $uczestnik = new Uczestnik();
  18. $_SESSION['uczestnik'] = $uczestnik;
  19. $zalogowany = 1;
  20. }
  21.  
  22. // wylogowanie usera
  23. if ($_POST["logout"] == "1")
  24. {
  25. $_SESSION = array();
  26. unset($osoba);
  27. unset($uczestnik);
  28. $zalogowany = 0;
  29. }
  30.  
  31. $db_no_close = 0;
  32. require('config_end.php');


PS. Na tym samym serwerze stoi phpbb i tam nie zauwazylem jakichs problemow z sesjami...
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: 27.12.2025 - 04:18