Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 1.07.2008 Ostrzeżenie: (0%)
|
Czy taki zapis jest poprawny? Nie wiem dlaczego pojawia się błąd: Cytat Fatal error: main() [<a href='function.main'>function.main</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Kupon" 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
Ten post edytował arszawin 9.08.2010, 23:08:17 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%)
|
a słyszałeś o serializacji? (IMG:style_emoticons/default/guitar.gif)
serialize http://pl.php.net/manual/pl/language.oop5.serialization.php |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 1.07.2008 Ostrzeżenie: (0%)
|
Przyznam, że zrozumienie serializacji sprawia mi trochę problemu.
W przypadku, gdy sesja nie istnieje, zostanie ona utworzona i kod wykona się poprawnie. W drugim przypadku - pojawi się błąd, o którym wcześniej wspomniałem. Klasa Obiekt, która jest importowana i której instancja jest przechowywana w sesji bazuje na liście ArrayList, którą sam implementowałem. Co powinienem serializować, a następnie odserializować, by odczyt obiektu z sesji był poprawny? Wydawało mi się, że będzie to na wzór tego:
ale teraz mamy błąd: Cytat Fatal error: Call to a member function dodajObiekt() on a non-object in ...
Ten post edytował arszawin 10.08.2010, 14:23:49 |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
To co miałeś na początku było dobre. Problem polega na tym, że próba odserializowania ciągu w innym skrypcie nie powiodła się ponieważ plik z potrzebną klasą nie został dołączony do skryptu.
Przykład
Drugi skrypt
Zadziała już ok. Można z tego problemu wybrnąć poprzez stosowanie autoloaderów. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 1.07.2008 Ostrzeżenie: (0%)
|
Cytat To co miałeś na początku było dobre Masz na myśli ten kod?
Napisałeś, że przyczyną problemów jest to, że plik z potrzebną klasą nie został dołączony do skryptu. Chyba jednak nie rozumiem - w trzeciej linijce mamy przecież require_once("obiekt.php");. Problem jest, gdy do sesji przypisany jest już jakiś obiekt klasy Obiekt - wtedy faktycznie jest jakiś problem z odczytem tego obiektu. Pawel_W w pierwszym poście zasugerował użycie serialize(), Ty wspomniałeś o autoloaderze(?) - teraz już nie wiem, co muszę zrobić, by wyeliminować błąd i liczbaObiektów przy każdym odświeżeniu była poprawnie inkrementowana;) |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 18:17 |