从下拉菜单中单击注销时销毁会话变量

时间:2013-10-12 13:13:46

标签: javascript php jquery session

我在多个页面中使用标题。我有一个下拉菜单,用户可以从中选择退出。在单击注销时,我想销毁会话变量。

如何在下拉菜单中点击退出时运行PHP?

这是我的下拉菜单:

<ul class="dropdown-menu">  
    <li><a href="#">Register User</a></li>
    <li><a href=#">View Access List</a></li>
    <li><a href="logout.php">Logout</a></li>    
</ul>

4 个答案:

答案 0 :(得分:4)

如果您有多个用户,最好在销毁会话之前保存用户的ID:

session_start();
$id = $session['User_id'];//user have user_id attribute
unset($_SESSION);

header("Location:index.php?message=logout?id=$id");

答案 1 :(得分:1)

您将logout.php设置为:

<?php

    session_start();
    unset($_SESSION);
    session_destroy();

    header("Location:index.php?message=logout");

?>

这是一个简单的例子,但您可以根据需要进行增强。

答案 2 :(得分:1)

你无法在onclick中运行PHP,因为在呈现PHP时它不会查找调用它的事件,而只是执行它并执行它被告知要执行的操作。因此,在session_destroy()事件中运行onclick只会等待点击,但是当页面加载时,它会破坏会话。尝试制作另一个PHP文件,然后将注销链接链接到该页面,然后在那里执行PHP,然后使用header()函数将页面重定向到另一个页面。

希望这能解决您的问题

答案 3 :(得分:0)

您的logout.php文件必须包含:

<?php
    session_start();
    session_destroy(); // ALL sessions of your site will be destoryed
    header("location: index.php?do=logout"); // or where ever you want to redirect the user
?>