2011-10-29 84 views
0

在sample.php文件我设置并打印值会话设置和检索

session_start(); 
$_SESSION['userid'] = "4"; 
echo session_id(); 
echo ' ' . $_SESSION['userid'] . ' '; 
print_r($_SESSION); 

输出是

tv0p126mg6q8ksvhbueq029567 4 Array ([userid] => SimpleXMLElement Object ([0] => 4)) 

在second.php文件我试图访问用户ID会话但其没有设置

session_start(); 
echo session_id(); 
echo ' ' . $_SESSION['userid'] . ' '; 
print_r($_SESSION); 

这里我输出

tv0p126mg6q8ksvhbueq029567 Array () 

帮助我在second.php文件中获取会话值

+0

您是否使用php默认会话处理程序? – xdazz

回答

1

它看起来像没有被保存在服务器上的会话。检查有关会话的php.ini设置,然后仔细检查位置会话文件是否存在并且是可写的 - 它发生在我身上,我在路径中有一个错字,会话不能正常工作。让我坚持了几个小时!

+0

它有助于记录PHP错误并监视日志文件以找到这些类型的问题。 – hakre

+0

如果您找不到和/或写入会话数据,您可以尝试使用http://www.php.net/manual/en/function.session-set-save-handler.php – kasimir

+0

配置会话保存,然后转到会话存储路径/ var/lib/php5和会话文件在那里。 'sess_tv0p126mg6q8ksvhbueq029567' – Siva

0

Maby服务器上没有足够的空间来存储会话数据(如果它是默认的linux var目录..i认为)。检查你的服务器日志,应该找到你的答案;)

你的代码应该顺便工作。