如何销毁会话和注销

时间:2014-01-02 07:29:47

标签: php

我有一个登录页面和一个主页面。在登录页面上,我要求输入用户名和密码,在主页面上显示数据库中的一些值。问题在于注销功能。我是这样做的:

login.php Page

<?php
session_start();

if (isset($_POST['submit'])) {
    //log in code and to go to main.php
}

if (isset($_REQUEST['logstate'])) {
    session_destroy();
}

?>

main.php页面

<a href="login.php?logstate=logout"><img src="logout.png" id="Logout"></a>

现在,当我点击退出图片时,它会结束会话,但会返回我的网址:xxxxx.com/login.php?logstate=logout

我希望它返回我的网址:xxxxx.com/login.php

6 个答案:

答案 0 :(得分:1)

您可以尝试重定向

<?php
session_start();

if (isset($_POST['submit'])) {
    //log in code and to go to main.php
}

if (isset($_REQUEST['logstate'])) {
    session_destroy();
    header("Location: xxxxx.com/login.php");
}

?>

答案 1 :(得分:0)

您可以在退出时尝试此操作

您可以在注销图片上调用logout.php文件,代码为:

<?php 
session_start();
session_destroy();
header("Location:home.php");//change the filename where you want to redirect it after logout
?>

或以你的方式:

if(isset($_REQUEST['logstate']))
{
  session_destroy();
  header("Location:home.php");//change the filename where you want to redirect it after logout
}

请参阅Session_destroy() Doc,在销毁会话时初始化会话。

答案 2 :(得分:0)

您需要进行重定向

if(isset($_REQUEST['logstate']))
{
  session_destroy();
  header( 'Location: /login.php' ) ;
}

答案 3 :(得分:0)

在销毁会话后重定向用户。

<?php
header('Location: http://www.example.com/login.php');
exit;
?>

答案 4 :(得分:0)

试一试它会解决您的问题:

 <?php
    session_start();

    if(isset($_POST['submit']))
    {
      //log in code and to go to main.php
    }

    if(isset($_REQUEST['logstate']))
    {
      session_destroy();
    header("location: xxxxx.com/login.php"); 
    exit();
    }

?>

答案 5 :(得分:0)

将此文件作为logout.php文件,并将其用作注销按钮的链接

    <?php 
    session_start();
    session_destroy();
    header("Location:yourlocation.php");
    exit;
    ?>