一个对象session以后,为什么不能引用 高,session存在文件里,并非内存 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我再把代码贴一下,我应该怎么引用SESSION以后的对象?//1.php<? class person { var $age; function shuchu($str) { $this->age=$str; echo $this->age; } } session_start(); $person=new person(); $_SESSION['person']=$person;?><a href=2.php>kkkkkkkkkkkkkkkkkkkk</a>//2.php<? session_start(); echo $person->shuchu(25);?> session是名词。不是动词<? class person { var $age; function shuchu($str) { $this->age=$str; echo $this->age; } } session_start(); $person=new person(); $i=$person->shuchu(25); $_SESSION['person']=$i;?><a href=2.php>kkkkkkkkkkkkkkkkkkkk</a>//2.php<? session_start(); echo $_SESSION['person'];?> 楼上的,你这是单个的变量,我想要的不是用SESSION传递单个的变量,我是想传递对象的啊 因为2.php文件中缺少person类的定义 session不能保存object。因为php的执行机制,每次用类 php文件必须要有类的声名,实例等全过程,好像不能保存和传递,所以php的类概念有些不伦不类。 将类单独写在一个文件里,然后在2.php里包含它 因为2.php文件中缺少person类的定义----------那,楼主给2.php定义一个不就可以了吗? 串行化serialize// person.php<?php class person { var $age; function shuchu($str) { $this->age=$str; echo $this->age; } }?>//1.php<? session_start(); require_once "person.php"; $person = new person(); $_SESSION['person'] = serialize($person);?><a href=2.php>kkkkkkkkkkkkkkkkkkkk</a>//2.php<?ini_set('unserialize_callback_func','mycallback'); // 设置您的回调函数function mycallback($classname) { include_once $classname . ".php";} session_start(); $person = unserialize($_SESSION["abc"]); echo $person->shuchu(25);?>unserialize_callback_func 指令: 如果在解序列化的时候需要实例化一个未定义类,则可以设置回调函数以供调用(以免得到的是不完整的 object “__PHP_Incomplete_Class”)。可通过 php.ini、ini_set() 或 .htaccess 定义‘unserialize_callback_func’。每次实例化一个未定义类时它都会被调用。若要禁止这个特性,只需置空此设定。还需要注意的是 unserialize_callback_func 指令是从 PHP 4.2.0 开始提供使用的。 注: callback 参数是在 PHP 4.2.0 中添加的 参看这两个函数 上面写错了一个变量:// person.php<?php class person { var $age; function shuchu($str) { $this->age=$str; echo $this->age; } }?>//1.php<? session_start(); require_once "person.php"; $person = new person(); $_SESSION['person'] = serialize($person);?><a href=2.php>kkkkkkkkkkkkkkkkkkkk</a>//2.php<?ini_set('unserialize_callback_func','mycallback'); // 设置您的回调函数function mycallback($classname) { include_once $classname . ".php";} session_start(); $person = unserialize($_SESSION["person"]); echo $person->shuchu(25);?> 同意countstars(深空) ,要串行化 mysql备份问题 想要用php链接sqlite保存网页信息 请问怎么调用变量 崩溃,同样的代码,两个文件中运行结果不一样 php 生成 phpDoc 问题 怎么在数组某个位置插入一个变量 有高人知道ADODB中的RecordCount问题吗? 散分,请大家推荐见过的好的php程序,以供大家参考 配完php后什么也没有? 关于php只在某个范围内读取变量的方法? 小弟在修改程序时,遇到菜鸟级的问题,请求帮助 关于session变量的问题
//1.php
<?
class person
{
var $age;
function shuchu($str)
{
$this->age=$str;
echo $this->age;
}
}
session_start();
$person=new person();
$_SESSION['person']=$person;
?>
<a href=2.php>kkkkkkkkkkkkkkkkkkkk</a>//2.php
<?
session_start();
echo $person->shuchu(25);
?>
<?
class person
{
var $age;
function shuchu($str)
{
$this->age=$str;
echo $this->age;
}
}
session_start();
$person=new person();
$i=$person->shuchu(25);
$_SESSION['person']=$i;
?>
<a href=2.php>kkkkkkkkkkkkkkkkkkkk</a>//2.php
<?
session_start();
echo $_SESSION['person'];
?>
因为php的执行机制,每次用类 php文件必须要有类的声名,实例等全过程,好像不能保存和传递,所以php的类概念有些不伦不类。
----------那,楼主给2.php定义一个不就可以了吗?
serialize// person.php
<?php
class person
{
var $age;
function shuchu($str)
{
$this->age=$str;
echo $this->age;
}
}
?>//1.php
<?
session_start();
require_once "person.php";
$person = new person();
$_SESSION['person'] = serialize($person);
?><a href=2.php>kkkkkkkkkkkkkkkkkkkk</a>//2.php
<?
ini_set('unserialize_callback_func','mycallback'); // 设置您的回调函数function mycallback($classname) {
include_once $classname . ".php";
}
session_start();
$person = unserialize($_SESSION["abc"]); echo $person->shuchu(25);?>unserialize_callback_func 指令: 如果在解序列化的时候需要实例化一个未定义类,则可以设置回调函数以供调用(以免得到的是不完整的 object “__PHP_Incomplete_Class”)。可通过 php.ini、ini_set() 或 .htaccess 定义‘unserialize_callback_func’。每次实例化一个未定义类时它都会被调用。若要禁止这个特性,只需置空此设定。还需要注意的是 unserialize_callback_func 指令是从 PHP 4.2.0 开始提供使用的。 注: callback 参数是在 PHP 4.2.0 中添加的 参看这两个函数
<?php
class person
{
var $age;
function shuchu($str)
{
$this->age=$str;
echo $this->age;
}
}
?>//1.php
<?
session_start();
require_once "person.php";
$person = new person();
$_SESSION['person'] = serialize($person);
?><a href=2.php>kkkkkkkkkkkkkkkkkkkk</a>//2.php
<?
ini_set('unserialize_callback_func','mycallback'); // 设置您的回调函数function mycallback($classname) {
include_once $classname . ".php";
}
session_start();
$person = unserialize($_SESSION["person"]); echo $person->shuchu(25);?>