Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przechowywanie obiektu w sesji
yacoos
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 19.02.2005

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


Witam.
Na początku wypada się przyznać, że pierwszy raz próbuję przechować obiekt w sesji - jest to konkretnie obiekt QuickForm.
Na początku dostawałem worning o session_start. Więc teraz mam już najpierw :

  1. <?php
  2. include "HTML/QuickForm.php";
  3. include 'HTML/QuickForm/Renderer/ArraySmarty.php';
  4. include '../smarty/Smarty.class.php';
  5. ?>


a dopiero później:
  1. <?php
  2. session_name("xxx");
  3. ?>

Próbowałem już rozmaitych kombinacji i aktualnie sprawa wygląda tak - mam formularz tworzony quickformem i smarty. Nie wiem czy to potrzebne, ale obiekt tworzony jest od razu w sesji:
  1. <?php
  2. $_SESSION['formularz'] = new HTML_QuickForm('form_add_0', 'POST', 'test2.php?action=dodaj&krok=1');
  3. ?>


Pod tym formularzem wyświetlam sesję i jej zawartość jest poprawna. Dla uproszczenia plik test 2 zawiera już tylko:
  1. <?php
  2. include "HTML/QuickForm.php";
  3. include 'HTML/QuickForm/Renderer/ArraySmarty.php';
  4. include '../smarty/Smarty.class.php';
  5. session_name("skylan2");
  6. echo "<pre>";
  7. print_r($_SESSION);
  8. print_r(unserialize($_SESSION['serial']));
  9. echo "</pre>";
  10. ?>

I tutaj niestety zarówno bezpośrednio jak po zdeserializowaniu widzę zawsze: [__PHP_Incomplete_Class_Name] => html_quickform_text
[0] => __PHP_Incomplete_Class Object
itd..
Bardzo proszę o jeszcze jakieś sugestie bo już zupełnie zabrakło mi pomysłów.

Pozdrawiam,
yacoos
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sedziwoj
post
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


@mike jeśli dobrze patrzę to include'uje odpowiednie pliki.
Kłopot może być taki jak wspomniałem, nie uwzględnienie serializacji.
np. właściwości prywatne nie ulegają serializacji automatycznej, zasoby pewnie parę innych rzeczy, więc jeśli coś się znajdzie w tych nie zapisanych w sesji danych to mamy niepełny obiekt. Ale właśnie czytam dokumentacje i chyba jednak może też być problem z brakiem dostępności definicji klasy.
Polecam do lekturki:
unserialize" title="Zobacz w manualu PHP" target="_manual
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: 29.12.2025 - 19:23