2012-09-30 54 views
0

我在网站上有一些页面。所有页面确实有一个酒吧,我把下列要求:PHP会话仅在某些页面中不起作用

session_start(); 
include('bar.php'); 
echo $bar; 

其中bar.php的内容或多或少是这样的:

session_start(); 
$username=$_SESSION['username']; 
if empty($username) { 
    $bar='You are not logged in.'; 
} else { 
    $bar='You are logged in.'; 
} 

的问题是,有时在酒吧工作(即当我真的是时,它显示“登录”),但有时它不会(它显示未登录用户的内容)。例如,浏览索引时,我会看到非登录用户的栏,但进入登录页面会向我显示登录用户的栏。

此外,我试图删除我的PHPSESSID cookie,然后登录:它的工作,它没有显示此错误。为什么?

+3

你可以从bar.php中删除session_start()并重试吗? –

+0

它发生在所有浏览器? – air4x

回答

1

第二个session_start();简单地被忽略,所以我认为这不是问题。你可以检查session_start()是否返回false:​​

+0

我测试了第二个session_start();但它返回1(true),这是成功的。 –