当我点击退出按钮时它已注销问题它不会破坏会话

时间:2014-03-04 03:05:14

标签: php session logout

当我点击退出按钮时注销问题它不会破坏会话所以当登​​录页面加载时它仍然会看到这是一个实时会话并且接收到该会话 下面是按钮的注销代码,这是编码它的正确方法,因此它也会破坏当前会话          

<?php
// if you need the user's information, just put them into the $_SESSION variable and output them here
echo WORDING_YOU_ARE_LOGGED_IN_AS . $_SESSION['user_name'] . "<br />";
//echo WORDING_PROFILE_PICTURE . '<br/><img src="' . $login->user_gravatar_image_url . '" />;
echo WORDING_PROFILE_PICTURE . '<br/>' . $login->user_gravatar_image_tag;
?>

<div>
<a href= session_destroy();><?php echo WORDING_LOGOUT; ?></a>
<a href="views/edit.php"><?php echo WORDING_EDIT_USER_DATA; ?></a>
</div>

<?php include('views/_footer.php'); ?>

2 个答案:

答案 0 :(得分:0)

希望这会有所帮助。

在你的href标签中,放入另一个php页面并在那个php页面中,进行会话销毁,你可以在会话被销毁后使用header()重定向。

<a href= "logout.php"><?php echo WORDING_LOGOUT; ?></a>

在你的logout.php

<?php
session_start();
if(session_destroy()){
    header("Location: index.php");
}
?>

答案 1 :(得分:0)

session_destroy();是一个PHP函数。完全不同于HTML,我的建议:

  

然后在logout.php上:

<?php
session_start();
 if (session_destroy()){
    // redirect if session is sucessfully destroyed: 
     header("Location: page.php/html");
  }else{
    echo "problem Occurred. Please contact the site administrator";
  }

?>

虽然,我很担心为什么你会有这么多定义的常量,当你只是简单地回应一个字符串。