看到这几天问有关Session为何无法使用的帖子比较多,我把我一直用的一段Session初始化代码发出来给大家参考一下。再每个页面头部引入这段代码,就可以直接使用$_SESSION存储数据。
$sessionId = session_id(); //尝试获取由PHP自身获得的SessionID(来源途径有URL或Cookie)
if(empty($sessionId) || preg_match('/[^A-Za-z0-9]/i', $sessionId)) { //检查此ID是否合法
$sessionId = $_COOKIE['PHPSESSID']; //如ID不合法尝试从Cookie中获取
}
if(empty($sessionId) || preg_match('/[^A-Za-z0-9]/i', $sessionId)) { //再次检查ID是否合法
$sessionId = md5(microtime()); //如还未有合法ID则生成一个
}
session_id($sessionId); //使用新生成的ID(或者原先取到的合法ID)
session_start(); //启动Session
setcookie('PHPSESSID', $sessionId, time() + 180); //设置Session有效期(180秒)
http://bbs.phpchina.com/viewthread.php?tid=78712