对两个不同类型的客户端使用相同的logout.php页面

时间:2014-05-31 17:51:09

标签: php mysql

我有一个简单的网站,可以让管理员和用户登录。凭据在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");

?>

这是我到目前为止所做的。

3 个答案:

答案 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();(基本上只是将其清空),以便所有先前设置的数据都消失。

最后,会话被销毁,客户端将被重定向。

相关问题