[PHP-users 8716] Sessionでクラスの受け渡し
php-users@php.gr.jp
php-users@php.gr.jp
Thu, 18 Jul 2002 08:43:19 +0900
はじめまして。いつも参考にさせていただいております。
http://www.pat.hi-ho.ne.jp/dimension/sample/sample_others_session_object.shtml
を参考にSessionを使ったオブジェクトの受け渡しを試してみたところ、
Fatal error: The script tried to execute a method or access a property of an
incomplete object. Please ensure that the class definition person of the
object you are trying to operate on was loaded _before_ the session was
started in session-main.php on line 16
というエラーが出てしまいました。
print_rで変数を見てみると
__PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => person
[name] => 東 [age] => 36 [address] => 東京都国立市 )
となっておりどうも中身は受け取れているのですが、クラスとして
認識しておりません。
普通の変数は、正常にわたっていました。
もしわかる方がいらしゃいましたら、アドバイス頂けるとありがたいです。
よろしくお願いいたします.
問題のコードを載せておきます。
person.inc クラス定義ファイル
-----------------------------------------------------------------
<?
class Person {
var $name ;
var $age;
var $address;
function Person() {
$this->name="";
$this->age=20;
$this->address="";
}
}
?>
-----------------------------------------------------------------
session-login.php Personクラスを渡す
<?
session_start();
/* セッションに変数を登録 */
session_register("MyPerson");
require_once("person.inc");
?>
<? header("Content-type: text/html;charset=EUC_JP"); ?>
<html><head><title>ログイン</title></head>
<body bgcolor="white">
<?
$MyPerson=new Person();
$MyPerson->name="東";
$MyPerson->age=36;
$MyPerson->address="東京都国立市";
print "<a href=\"session-main.php\">メインページへ</a><br>";
?>
</body></html>
-----------------------------------------------------------------
session-main.php Personクラスを受け取る
<?
require("./person.inc");
session_start();
header("Content-type: text/html;charset=EUC_JP");
?>
<html>
<head><title>セッションメインページ</title></head>
<body bgcolor="white">
<?
$MyPerson=$_SESSION["MyPerson"];
print_r($MyPerson);
?>
<h1>メインメニュー</h1>
<a href="session-login.php">ログイン画面に戻る</a><br>
<?
print "Person->Name: $MyPerson->name<BR>";
print "Person->age: $MyPerson->age<BR>";
print "Person->address: $MyPerson->address<BR>";
?>
</body></html>
長文失礼いたしました.
--
東 信明 <rxq10026@nifty.ne.jp>