-1

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

在下拉菜单中单击注销时如何运行 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

4 回答 4

4

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

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

header("Location:index.php?message=logout?id=$id");
于 2013-10-12T13:28:48.837 回答
1

您将您的设置logout.php为:

<?php

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

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

?>

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

于 2013-10-12T13:16:15.540 回答
1

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

希望这能解决你的问题

于 2013-10-12T14:13:13.213 回答
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
?>
于 2013-10-12T13:18:02.427 回答