错误在你的checksession.php文件中:
//代码段
if(!session_is_registered("logoid")) //判断logoid是否被session标记过
{
session_destroy();
session_register("logoid"); //记录session变量logoid
$logoid=$ip;
$logoyse=1;
} 如果if的条件是成立的,就执行里面的代码段,你在开头已经session_start了,建立了session文件,在这里你session_destroy();,这个函数是会把session的临时文件都删除掉的,就是彻底删除,会导致session_start失效,所以你后面的session_register("logoid");是没有作用的,会有错误。我发现的错误就是这里,不知道是否是楼主提示错误的原因,反正这个是一个很明显的错误。把那个代码段改为:
if(!session_is_registered("logoid")) //判断logoid是否被session标记过
{
session_unset();//替换掉session_destroy();,这个不会删除session文件
session_register("logoid"); //记录session变量logoid
$logoid=$ip;
$logoyse=1;
}
解决方案 »
- 设置session过期 的 问题
- 求教:使用PHP的函数fpassthru()显示图片详解
- php5.3通过SQL Server Driver for PHP连接mssql后怎样分页
- 新手遇到个奇怪问题
- 大家帮我看看下面的代码问题出在哪?
- -------------(原创)基于phplib template的缓存类-----------------
- 关于时间格式的减法计算问题
- 有两年没使用php了,不知道现在php5怎么样?有些什么新功能?
- 有谁可以做象yahoo那样的搜索引擎!php可以吗??
- 关于微信扫描支付的问题 PHP版
- 集群下如何用php写站内搜索引擎 数据存储在数据库中
- 怎么用php读取URL形式的XML文件
还有如下的一种说法:当register_globals=off时,若使用session_register注册session变量就会出现那个警告信息。
这是php的一个预警机制。
因为用session_register注册的变量必须是全局变量,而register_globals=off时又关闭了全局变量的魔术转换。在此情况下极易产生错误,所以才设了此警告。
这个警告是可以关闭的,当然你需要自行承担由此带来的风险
bug_compat_42 = off
session.bug_compat_warn = off