php logout无需重定向到logout.php

时间:2014-04-22 17:44:37

标签: php ajax logout

我有问题,我想退出'按钮'但是不允许人们通过链接注销,比如我有logout.php和我的按钮重定向到它,但你也可以通过浏览器登录www.mysite.com/logout.php

所以我开始想使用ajax:

function Logout()
{
    $.ajax({
        url: 'logout.php',
//      data: {xyz:1},
        method: 'POST',
    }).done( location.reload(true); );
}

但它不起作用

我的logout.php:

<?php

    session_start();
    setcookie("id", "", time()-3600);
    setcookie("pass", "", time()-3600);
    session_unset();

?>

我也想在数据库中注销用户但为此我需要他的id在$ uid的php中,jquery代码在.js文件中所以我不能做

var userid = <? $uid ?>

还是我?

1 个答案:

答案 0 :(得分:3)

您可以创建一个包含uid的隐藏字段的表单,另一个包含另一个隐藏变量的表单,该按钮会导致您的logout.php如下所示:

<form method="post" action="logout.php">
<input type="hidden" name="uid" value="<?=$uid; ?>" />
<input type="hidden" name="checked" value="checked" />
<input type="submit" name="Logout" value="Logout" />
</form>

然后在你的logout.php页面上获得你的帖子变量

$uid = $_POST["uid"];
$check = $_POST["checked"];

现在你有了你想要的uid和一个在提交表单时包含“checked”的变量。

这是一种非常基本的做事方式,但它会起作用。您可以通过标准的php方式或ajax传递变量,无论哪种方式都可行。