Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP - objekty a $_SESSION

Zdravím,
můj dotaz se týká uložení dat objektu do session a jejich následném získání zpět. Nefunguje, jak má. Nechci popisovat celý dlouhý skript, snad to bude aspoň trošku pochopitelné:

1) Vytvořím objekt třídy ($o) s nějakými předdefinovanými hodnotami proměnných (definováno ve třídě).
2) Těmto proměnným v tomto objektu přiřadím nové hodnoty, které získám z formuláře ($_GET)
Pomocí foreach je vyplním. Pomocí echo je ověřím - objekt opravdu obsahuje "nové hodnoty".

//book.php
if ($add!='')
  {
  $o = new $object(time());
  foreach ($_GET as $k => $v)
    {
    $o->k = $v;
    echo $o->k . '<br>';
    }
3) Tento objekt uložím do SESSION.
  $o->save();
4) Pomocí níže uvedeného odkazu se přesunu na další stránku,...
 echo "<a href='book.php?id={$o->id}'>rezervovat</a>";
//book.php?id=nejake_cislo
if ($id == '' or $id == FALSE)
  header("location: index.php");
5) na další stránce chci opět vytáhnout dané hodnoty objektu ze SESSION.
$r = Resource::getById($id);
foreach ($r as $ii => $iii)
  {
  echo "$ii => $iii<br>";
  }
6) a objeví se opět původní předdefinované hodnoty, nikoliv ty zadané ve formuláři :-(


//část  definice třídy Resource:
public function save()
  {
  $_SESSION['resource'][$this->id] = $this;
  }
public function getById($id)
  {
  if (array_key_exists($id,$_SESSION['resource']))
    return $_SESSION['resource'][$id];
  else
    return FALSE;
  }

Děkuji.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny