我的网上有一些输入表格。但在此之前我需要先登录才能直接输入页面。
最后一次,如果我的PC崩溃然后再次打开,我的铬浏览器将显示恢复按钮。点击后,我的最后一页将返回,无需再登录。
但是为什么即使我点击按钮也不能这样做。
这是我输入页面中的PHP脚本:
<?php
session_start(); //Start the session
if(isset($_SESSION["loguser"])){
//if(!session_is_registered("loguser")){ //If session not registered
header("location:login.php"); // Redirect to login.php page
}
else //Continue to current page
header( 'Content-Type: text/html; charset=iso-8859-1' );
?>
我想要做的是如果我不注销我的页面就不需要登录了。 如果我们点击退出按钮,如何使cookie过期?
感谢。
答案 0 :(得分:0)
!错过了if条件。(你能查一下吗?)
if(isset($_SESSION["loguser"])){
//if(!session_is_registered("loguser")){ //If session not registered
header("location:login.php"); // Redirect to login.php page
}
应该是
if(!isset($_SESSION["loguser"])){
//if(!session_is_registered("loguser")){ //If session not registered
header("location:login.php"); // Redirect to login.php page
}
答案 1 :(得分:0)
我这样改变:
<?php
session_start(); //Start the session
setcookie("loguser");
if(!isset($_COOKIE["loguser"])){
header("location:login.php"); // Redirect to login.php page
}
else { //Continue to current page
header( 'Content-Type: text/html; charset=iso-8859-1' );
}
?>
答案 2 :(得分:0)
如果在检查cookie是否已设置之前设置了cookie,则if语句将永远不会触发或按预期运行。 您应该在login.php下设置cookie,就像将来到期一样:
setcookie("loguser","John Doe",time()+60*60*24*30); //Expires in 30days
否则,cookie会被视为会话变量,并在会话关闭后立即被丢弃。
出于安全原因,您还应该使用数据库中的内容检查cookie值,因为可以在用户的浏览器上轻松读取和更改cookie的值。