主页未立即识别会话PHP
我有一个网站,根据用户是否登录,显示两个不同版本的导航部分主页未立即识别会话PHP,php,session,Php,Session,我有一个网站,根据用户是否登录,显示两个不同版本的导航部分 <?php if(isset($_SESSION['myusername'])){ echo '<a href="'.$baseRoot.$defaultPage.'?com=logout&cxid='.uniqid(),'">Log Out</a>'; }else{ echo '<a href="'.$baseRoot.$defaultPag
<?php
if(isset($_SESSION['myusername'])){
echo '<a href="'.$baseRoot.$defaultPage.'?com=logout&cxid='.uniqid(),'">Log Out</a>';
}else{
echo '<a href="'.$baseRoot.$defaultPage.'?com=login&cxid='.uniqid(),'" class="signupbutton">Sign Up</a>';
}
?>
当用户登录并在未注销的情况下关闭浏览器(并且假设他们在浏览器退出时未清除缓存/cookie)时,就会发生此问题
当他们稍后打开浏览器并返回站点时,导航将显示为他们未登录。如果他们随后单击网站上其他地方的链接,即我的帐户,则导航将更改以显示他们已登录
你知道这是什么原因吗?我希望导航显示他们在返回站点后立即登录。首先,检查
session\u start()
在任何html,甚至是!DOCTYPE规则
现在,在索引页上添加以下内容:
<?php
session_start();
if(isset($_SESSION['username'])){
header("location: home.php"); // or whatever page you want your users to be redirected to...
}else {
?>
// here your html page should start
<html><head></head><body>
// all the DOM elements on your page
</body></html>
<?php
} // closing end of the else block started above
?>
//您的html页面应该从这里开始
//页面上的所有DOM元素
必须如下所示
ob_start();
session_start();
//code to check session and other
ob\u start()
用于省略已发送的标题错误。您是否在每页顶部都有session\u start()
功能?您的站点是否有让我登录/记住我
功能?