Объект в сессии! Почему не работает?

Армян

Новичок
Объект в сессии! Почему не работает?

я хотел сделать корзину покупок! сделал класс и хотел запихать объект этого класса в сессию:
$_SESSION['trash'] = new TTrash();
$_SESSION['trash']->add(1,1);

но ничего не пашет пишет

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 &quot;TTrash&quot; 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 C:\Apache2.2\htdocs\saninfo\private_edit_trash.php on line 3
 

Андрейка

Senior pomidor developer
Trash это не корзина, это мусорка

а чего в написанном сообщении не устраивает?
 

Армян

Новичок
неустраивает что неработает! а мусорка путь! на сайте кроме нормального товара и мусор будут продавать, наверно :)
 

Андрейка

Senior pomidor developer
Армян
т.е. такой скрипт
<?
session_start();
class TTrash { };
$_SESSION['trash'] = new TTrash();
?>
будет с этой же ошибкой?
 

Армян

Новичок
нет такой нормально работает! а вот при обращении к методам появляется такая бяка! класс рабочий потому что если так
$trash = new TTrash();
$trash->add(1,1);

то все работает! просто не сохраняются значения в объекте!
 

Андрейка

Senior pomidor developer
а вот при обращении к методам появляется такая бяка
<?
session_start();
class TTrash { function func() {return 'a';} };
$_SESSION['trash'] = new TTrash();
echo $_SESSION['trash']->func();
?>
работает? если да - ищем закономерности дальше.. или читаем что написано
 

Shturm

Гигант мысли
Армян
Эта ошибка может выдаваться, применительно к данной ситуации, только в одном случае, - если при новом вызове скрипта (когда TTrash уже был помещен в сессию во время предыдущего) - на момент старта сессии TTrash
не был определен (например, определение подключается позже по include()).

...отсюда и правда следует нехороший вывод, что ты нас обманываешь,
что не есть хорошо
 

Армян

Новичок
вот прям этот код не работает? не твой похожий, а прям этот?
вот прям твой работает!

а вот мой прям нет!

require_once("trash_class.php");
$_SESSION['trash']->add(1,1);
$_SESSION['trash']->tostart();
while ( $fet = $_SESSION['trash']->get() ) {
echo "$fet[0] - $fet[1] <br>";
}

в trash_class.php сначала сессион старт а потом идет класс и после класса идет $_SESSION['trash'] = new TTrash();
 

Андрейка

Senior pomidor developer
Армян
а почему твой первый код не похож на последний? зачем ты постишь заведомо ложный код и просишь в нем разобрацца? тебе не жаль чужого времени? тада вперед по ссылке сообщением выше
 

Армян

Новичок
а почему твой первый код не похож на последний? зачем ты постишь заведомо ложный код и просишь в нем разобрацца? тебе не жаль чужого времени? тада вперед по ссылке сообщением выше
невижу большой разницы в кодах!
 

WP

^_^
А ты умеешь видеть да? Тогда зачем пришел? Убивают такие люди... просят помощи еще и сами думают. Все на что ты способен ты показал еще до создания темы.
 

Армян

Новичок
КОПИРУЮ КОД!
<?php

require_once("trash_class.php");

session_start();

$_SESSION['trash'] = new TTrash();

$_SESSION['trash']->add($fet[0], $_POST[$fet[0]]); // tut rabotaet
?>


а вот следующий скрипт уже не работает:
<?php
@session_start();
require_once("head.php");
require_once("trash_class.php");

$_SESSION['trash']->tostart();
while ( $fet = $_SESSION['trash']->get() ) {
echo "$fet[0] - $fet[1] <br>";
}
?>

-~{}~ 20.01.07 22:54:

просят помощи еще и сами думают
прикольно!!! ты походу юморист?!
 

SiMM

Новичок
Армян, тебе уже дали выше ответ - почему ты его не прочёл и не выполнил данные в нём указания?
 

Solid

Drosera anglica
Даже стало интересно, что это за класс-загадка... ТХлам
 

Армян

Новичок
я помойму говорил что это за класс?! вы типо может поможете? хотябы намекните чтоли вчом тут может быть бага?

-~{}~ 21.01.07 09:48:

Вот тупость на индексной странице пишу:
session_start();
require_once("trash_class.php");
$_SESSION['trash'] = new TTrash();
print_r($_SESSION);

все окей объект запихан и работает! в другом скрипте пишу:
session_start();
require_once("trash_class.php");
print_r($_SESSION);

пишет:
[trash] => __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => TTrash [ids:private] => Array ( ) [counts:private] => Array ( ) [index:private] => 1 [count:private] => 0 )

вот фигня! главное ник у меня тоже в сессии и все работает!! :-0
 
Сверху