форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Создание сайта / Как передать объект на другую страницу? |
| Автор | Сообщение |
| Jadd Участник 106 |
# Дата: 20 Окт 2007 17:35 PHP. Есть объект созданного мной класса. Необходимо передать его на другую страницу сайта. Через суперглобальные массивы типа $_SESSION[] не получается. Есть варианты? |
| Андрей Алексеевич 2123 |
# Дата: 20 Окт 2007 17:49 Всё должно работать, класс должен быть объявлен на обоих страницах, объект записываем в переменную сессии. В файле сессии на диске он записывается в serialized-виде, который поддерживает сохранение объектов. |
| Jadd Участник 106 |
# Дата: 20 Окт 2007 19:25 Может и должно, но об этом не знает ) А может от версии PHP зависит... или я заглючил. В общем, код: case 'import': //страница index.php?f=import $_SESSION['dialog_table'] = $dialog_table; print $_SESSION['dialog_table']->GetHTMLTable(); //выводит данные - метод работает break; case 'dialog': //страница index.php?f=dialog - следующая, после index.php?f=import print $_SESSION['dialog_table']->GetHTMLTable(); //объект передается, но метод уже не работает. Решение проблемы с помощью функции serialize() ----------------------------------------------- serialize() возвращает строку с байтово-поточным представлением значения value, которое может храниться где угодно. Это используется для хранения или передачи PHP-значений повсюду без потери их типа и структуры. ----------------------------------------------- case 'import': //страница index.php?f=import $_SESSION['dialog_table'] = serialize($dialog_table); print $_SESSION['dialog_table']->GetHTMLTable(); //выводит данные - метод работает break; case 'dialog': //страница index.php?f=dialog - следующая, после index.php?f=import $dialog_table = unserialize($_SESSION['dialog_table']); print $dialog_table->GetHTMLTable(); //объект передается, метод работает. |
| Андрей Алексеевич 2123 |
# Дата: 20 Окт 2007 21:40 ° Поправил: Андрей page1.php <?php
session_start();
class testClass {
var $testvar1;
function set($var)
{
$this -> testvar1 = $var;
}
}
$obj = new testClass();
$obj -> set('testTestTest!');
$_SESSION['obj'] = $obj;
print_r( $_SESSION['obj'] );page2.php <?php
session_start();
class testClass {
var $testvar1;
function set($var)
{
$this -> testvar1 = $var;
}
}
$_SESSION['obj'] -> set('testTestTest2!');
print_r( $_SESSION['obj'] );
У меня работает. |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:23479, gzipped size:7760 |