session传递对象或者类

user.class文件
PHP 代码:

<?php
/*
 * 用户类函数
 */
class USER {
    var $id;
    var $username;
    var $email;
    function user($userinfo) {
        $this->id=$userinfo[0];
        $this->username=$userinfo[1];
        $this->email=$userinfo[2];
    }
}
?> 

index.php文件
PHP 代码:

<?php
/*
 *  测试用
 *
 */
session_start();
include("conn.php");
include("user.class");
/*  初始化一个用户类 */
function initUser()
{
$userinfo&#91;&#93;=1;
$userinfo&#91;&#93;="thankwsx";
$userinfo&#91;&#93;="jiangsujier@163.com";
$user=new USER($userinfo);
return $user;
}
$your=initUser();
session_register("your");
echo "<pre>";
echo $your->username;
echo "</pre>";
?> 

session.php文件
PHP 代码:

<?php
/*
 * 测试session
 */
 include("user.class");
 session_start();

 echo session_is_registered("your")?"TRUE":"WRONG";
 echo "<pre>";
 var_dump($_SESSION);
 echo "</pre>";

$your=$_SESSION["your"];
echo $your->username;
?> 

最后一个文件很重要的一步,
你必须把类的定义放在session_start 前面,否则会得不到想要的结果。

关注微信公众号,手机阅读更方便: 程序员的阅微草堂

知识共享许可协议莿鸟栖草堂CFC4N 创作,采用 知识共享 署名-非商业性使用-相同方式共享(3.0未本地化版本)许可协议进行许可。基于http://www.cnxct.com上的作品创作。转载请注明转自:session传递对象或者类

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据