session无法传递,files保存可以,mysql保存却无法传递 如果 session 用数据库保存,那么每个使用 session 的页面都必须加载相应的代码你做到了吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这有个 session问题详解 可以看下 http://www.phpthinking.com/archives/318 嗯嗯,每次要用session的时候都会if (!isset($_SESSION)){ require_once __DIR__ . '/SessionHandler.php'; new \lib\SessionHandler();}SessionHandler.php文件里就有相应的代码,但问题还是其它页面读取不了session的值啊~ 为防止意外情况出现程序应无条件加载 SessionHandler.php而实例化对象和 session_start() 都应在 SessionHandler.php 中进行你还使用了命名空间,这就更需要注意排查新的故障点 去掉条件引用以及去掉命名空间还是不行。现在不说不同的页面,就算是同一个页面也读取不了,如下error_log($_SESSION["captcha"]);$_SESSION["captcha"] = $text;第一句error_log($_SESSION["captcha"]);中的$_SESSION["captcha"]是想读取前一次存在数据库中的captcha 的值,此时数据库中是有值的,但是就是读不出来,显示“PHP Notice: Undefined index: captcha”的错误,我的SessionHandler类中的session_read函数是这样的:function readSession($SID){ $query = "select value from sessioninfo where sid= :sid"; $stmt = $this->dbLink->prepare($query); $stmt->bindParam(':sid', $SID); if($stmt->execute()) { $value = $stmt->fetch(\PDO::FETCH_ASSOC); /*error_log('sid:'.$SID);*/ /*error_log('value:'.implode(',', $value));*/ if(!empty($value)) { return $value; } } }上面注释掉的代码读取到的$value是有值的,也就是说php读取到了值但是没有反序列化到内存里? 去掉条件引用以及去掉命名空间还是不行。现在不说不同的页面,就算是同一个页面也读取不了,如下error_log($_SESSION["captcha"]);$_SESSION["captcha"] = $text;第一句error_log($_SESSION["captcha"]);中的$_SESSION["captcha"]是想读取前一次存在数据库中的captcha 的值,此时数据库中是有值的,但是就是读不出来,显示“PHP Notice: Undefined index: captcha”的错误,我的SessionHandler类中的session_read函数是这样的:function readSession($SID){ $query = "select value from sessioninfo where sid= :sid"; $stmt = $this->dbLink->prepare($query); $stmt->bindParam(':sid', $SID); if($stmt->execute()) { $value = $stmt->fetch(\PDO::FETCH_ASSOC); /*error_log('sid:'.$SID);*/ /*error_log('value:'.implode(',', $value));*/ if(!empty($value)) { return $value; } } }上面注释掉的代码读取到的$value是有值的,也就是说php读取到了值但是没有反序列化到内存里?原来问题果然是出现在这里的~不应该return $value而是应该return $value['value'];终于解决了~谢谢你们~ 关于php curl方面一个很诡异的问题,求思路 我的网站是不是被恶意入侵了 求助呀,关于html标签内的换行解决··· mysql where in array() 懂得人帮帮忙啊,无助啊。 菜鸟问题:win2000professional的IIS+PHP5能不能配置? 小弟不才,有一问相求!。。。。。。。。。。。。。 [急]关于找到并确认<table>所对应的</table>? 关于安装集成环境的问题 PHP 提取页面嵌套的一个表格里面的每一列数据 标签的循环索引问题 textarea换行
嗯嗯,每次要用session的时候都会
if (!isset($_SESSION)){
require_once __DIR__ . '/SessionHandler.php';
new \lib\SessionHandler();
}
SessionHandler.php文件里就有相应的代码,但问题还是其它页面读取不了session的值啊~
程序应无条件加载 SessionHandler.php
而实例化对象和 session_start() 都应在 SessionHandler.php 中进行
你还使用了命名空间,这就更需要注意排查新的故障点
去掉条件引用以及去掉命名空间还是不行。
现在不说不同的页面,就算是同一个页面也读取不了,如下
error_log($_SESSION["captcha"]);
$_SESSION["captcha"] = $text;
第一句error_log($_SESSION["captcha"]);中的$_SESSION["captcha"]是想读取前一次存在数据库中的captcha 的值,此时数据库中是有值的,但是就是读不出来,显示“PHP Notice: Undefined index: captcha”的错误,
我的SessionHandler类中的session_read函数是这样的:
function readSession($SID){
$query = "select value from sessioninfo where sid= :sid";
$stmt = $this->dbLink->prepare($query);
$stmt->bindParam(':sid', $SID);
if($stmt->execute())
{
$value = $stmt->fetch(\PDO::FETCH_ASSOC);
/*error_log('sid:'.$SID);*/
/*error_log('value:'.implode(',', $value));*/
if(!empty($value))
{
return $value;
}
}
}
上面注释掉的代码读取到的$value是有值的,也就是说php读取到了值但是没有反序列化到内存里?
去掉条件引用以及去掉命名空间还是不行。
现在不说不同的页面,就算是同一个页面也读取不了,如下
error_log($_SESSION["captcha"]);
$_SESSION["captcha"] = $text;
第一句error_log($_SESSION["captcha"]);中的$_SESSION["captcha"]是想读取前一次存在数据库中的captcha 的值,此时数据库中是有值的,但是就是读不出来,显示“PHP Notice: Undefined index: captcha”的错误,
我的SessionHandler类中的session_read函数是这样的:
function readSession($SID){
$query = "select value from sessioninfo where sid= :sid";
$stmt = $this->dbLink->prepare($query);
$stmt->bindParam(':sid', $SID);
if($stmt->execute())
{
$value = $stmt->fetch(\PDO::FETCH_ASSOC);
/*error_log('sid:'.$SID);*/
/*error_log('value:'.implode(',', $value));*/
if(!empty($value))
{
return $value;
}
}
}
上面注释掉的代码读取到的$value是有值的,也就是说php读取到了值但是没有反序列化到内存里?原来问题果然是出现在这里的~
不应该return $value而是应该return $value['value'];
终于解决了~谢谢你们~