Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obiekty i ich przenoszenie w sesji
Forum PHP.pl > Forum > PHP
FinniFun
Witam. Problem jest następujacy: Tworze sobie klasę:

  1. <?php
  2. class user
  3. {
  4. var $login = '';
  5. var $id = 0;
  6. var $prawa = 0;
  7. var $nazwisko = '';
  8. var $zalogowany = false;
  9.  
  10. //.... dalej jest konstruktor, i inne dwie funkcje...
  11.  
  12. }
  13. ?>


teraz w skrypcie chce by jeśli jest juz ktos zalogowany jego dane były przenoszone pomiedzy stronami wiec robie tak:

  1. <?php
  2. if(!isset($_SESSION['user']))
  3. $_SESSION['user'] = new user;
  4. ?>


To działa tylko za 1 razem...jesli odświerze stronę otrzymuje komunikat:

Cytat
Notice: main() [function.main]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "user" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in D:\projekt\v3\public_html\index.php on line 63


Czy ktoś z was wie gdzie leży problem...prosze pomocy!!!

Pozdrawiam
FinniFun

----------------------
Jeśli chcemy dać kod na forum umieszczamy go
w odpowiednich tagach BB Code, tym
razem poprawiłem, ale na przyszłość proszę
się do tego stosować.
---
~strife
MrMag
zeby trzymac obiekt w sesji musisz zrobic jego serializacje a potem deserializacje (serialize, deserialize).
FinniFun
Otóż...moja teoria...jest taka że...za pierwszym razem działa jak ma działać, po odświerzeniu zmienna $_SESSION['user'] jest ustawiona...ale skrypt nie wie że to jest obiekt...który ma juz jakieś nadane wartosci atrybutów.
Seth
Przed deserialziacja musisz zaincludowac klase. To powinno pomoc.
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.