Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obiekty jako zmienna sesji, problem z przekazaniem tablicy obiektow na inna strone
abusiek
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 5
Dołączył: 23.10.2006
Skąd: Gda?sk

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


Witam!

W pliku main.php mam cos takiego:

session_start();
session_register('produkty');
include 'klasy.inc';
...

$produkty to tablica do ktorej ladowane sa obiekty klasy Produkty, ktorych pola sa pobierane z plikow .csv
Na tej stronie nie ma z obiektami zadnego problemu i np. taki kod dziala:

  1. <?php
  2. $count=count($produkty);
  3. for($i=0; $i<$count; $i++)
  4. {
  5.  echo 'jestem w petli';
  6.  //$produkty[$i]->pokazProdukt;
  7. echo '<br>';
  8. }
  9. ?>


na kolejnej stronie pokazProdukt.php mam cos takiego:
  1. <?php
  2. include 'klasy.inc';
  3. session_register('produkty');
  4. $count=count($produkty);
  5. $echo $count;
  6. for($i=0; $i<$count; $i++)
  7. {
  8.  echo 'jestem w petli';
  9.  $produkty[$i]->pokazProdukt;
  10. echo '<br>';
  11. }
  12. ?>

do petli program wchodzi tylko raz, mimo ze $count=5, czyli wysypuje sie na linii
  1. <?php
  2. $produkty[$i]->pokazProdukt;
  3. ?>

Po wywolaniu na tej stronie polecenia
  1. <?php
  2. print_r($produkty)
  3. ?>

dostaje cos takiego:
__PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => Produkt /i tutaj wypisana zawartosc tablicy/
Wie ktos jak to poprawic?? bo z tego co czytalem moze to byc problem z zainkludowaniem pliku 'klasy.inc', ale ja to include mam obudowane i nie zwraca zadnego bledu wiec raczej powinno byc w porzadku...
I jeszcze: pisze pod php5

Ten post edytował abusiek 5.01.2007, 22:51:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ikioloak
post
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


Nie pokazales calego kodu wiec nie wiem w jaki sposob dodajesz produkty do zmiennej sesyjnej. W kazdym razie, zamiast session_register" title="Zobacz w manualu php" target="_manual powinienes korzystac z $_SESSION - doczytaj w manualu dlaczego. Natomiast gdy chcesz zapisac obiekt w zmiennej sesyjnej musisz skorzystac z serialize" title="Zobacz w manualu php" target="_manual a przed odczytem unserialize." title="Zobacz w manualu php" target="_manual

I jeszcze jeden blad - literowka zapewne - nie $echo a echo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Edit: Blad lezy jednak chyba gdzie indziej. Include'uj 'klasy.inc' przed session_start" title="Zobacz w manualu php" target="_manual.

Ten post edytował ikioloak 5.01.2007, 23:09:00
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: 10.10.2025 - 01:31