mam problem z serializacja, ktorej chcialbym uzyc do przechowywania obiektu i zupelnie nie moge sobie z tym poradzic, a moze nie do konca poprawnie rozumiem jej koncepcje. Problem postaram sie przedstawic mozliwie najbardziej zrozumiale:
Mam strone na ktorej pobieram elementy z 'zewnetrznego' magazynu i przechowywuje je w tabeli (dokladniej obiekcie, ktorego jednym z elementow jest tabela). Obiekt w ktorym przechowywuje pobrane elementy posiada metode, ktora weryfikuje czy posiada on wystarczajaco elementow aby moc je wyswietlic na danej stronie, jesli nie to pobiera nastepne z 'zewnetrznego' magazynu. Ilosc kolejnych elementow wyswietlanych na stronie jest uzalezniona od offsetu. Np dla offsetu rownego 0 wyswietlam elementy z tabeli 0 -99; dla 1 -> 100 - 199 itd. I teraz moj problem polega na tym, ze kiedy chce wyswietlic offset 4 to pobieram kolejne elementy i je wyswietlam, a chcac wrocic do offsetu 1 nie robie nic oprocz wyswietlenia, poniewaz elementu juz sa w tablicy tego obiektu(a wiec nie musze ponownie inicjalizowac obiektu i pobieraz od nowa elementow dla wartosi offsetu 1). Do rozwiazania tego problemu zdecydowalem sie uzyc serializacji. I tak moj kod strony wyglada nastepujaco:
Kod
[php]require_once('magazyn.php');
$offset = $_GET['offset'];
if( isset( $_SESSION['magazyn'] ) ){
$magazyn = unserialize($_SESSION['magazyn']);
} else {
session_start();
$magazyn= new Magazine($number, $offset);
}
if($magazyn->canDisplay($offset) == true){
$magazyn->display();
} else {
$magazyn->getElements();
$magazyn->display();
}
$_SESSION['magazyn'] = serialize($magazyn);
echo "|   <a href=pokaz.php?offset=5>offset5 </a>   ";
[/php]
$offset = $_GET['offset'];
if( isset( $_SESSION['magazyn'] ) ){
$magazyn = unserialize($_SESSION['magazyn']);
} else {
session_start();
$magazyn= new Magazine($number, $offset);
}
if($magazyn->canDisplay($offset) == true){
$magazyn->display();
} else {
$magazyn->getElements();
$magazyn->display();
}
$_SESSION['magazyn'] = serialize($magazyn);
echo "|   <a href=pokaz.php?offset=5>offset5 </a>   ";
[/php]
I moj problem polega na tym ze po inicjalizacji, kiedy chce wejsc na ta sama strone z offsetem 5, caly czas tworzy obiekt od nowa(nie znajduje zmiennej sesyjnej $_SESSION['magazyn']). Gdzie lezy moj blad w rozumowaniu?
pozdrawiam i dziekuje z gory za pomoc