我有一个简单的网站,可以让管理员和用户登录。凭据在2个单独的表中保存到mysql服务器上。 1表示用户,1表示管理员。
他们两个不同的登录页面,用户有userlogin.php,admin有adminlogin.php
我想要的是,当他们完成访问网站时,我希望他们点击注销并通过会话变量,只使用一个logout.php并将它们重定向到各自的登录页面。
因此,如果用户注销,则应将其重定向到userlogin.php,如果管理员注销,则应将其重定向到adminlogin.php
<?PHP
session_start();
unset($_SESSION["userid"]);
header("Location: userlogin.php");
unset($_SESSION["adminid"]);
header("Location: adminlogin.php");
?>
这是我到目前为止所做的。
答案 0 :(得分:1)
if(isset($_SESSION["userid"]))
{
unset($_SESSION["userid"]);
header("Location: userlogin.php");
}
elseif(isset($_SESSION["adminid"]))
{
unset($_SESSION["adminid"]);
header("Location: adminlogin.php");
}
die();
答案 1 :(得分:0)
使用session_destroy()
<强> logout.php 强>
<?php
session_start();
if(isset($_SESSION["adminid"]))
{
unset($_SESSION["adminid"]);
session_destroy();
header("Location: adminlogin.php");
}
else
{
unset($_SESSION["userid"]);
session_destroy();
header("Location: userlogin.php");
}
?>
答案 2 :(得分:0)
<?php
session_start();
header ('Location: ' . (isset($_SESSION['adminid']) ? 'adminlogin.php' : 'userlogin.php'));
$_SESSION = array();
session_destroy();
?>
由于有些人要求解释,此代码首先使用session_start();
启动会话。
之后,它设置要发送到客户端的位置标头。代码检查是否设置了adminid,如果是,我们将重定向到adminlogin.php。如果没有,我们只需重定向到userlogin.php。
然后,代码将$_SESSION
设置为array();
(基本上只是将其清空),以便所有先前设置的数据都消失。
最后,会话被销毁,客户端将被重定向。