【问题标题】:php logout without redirect to logout.phpphp注销而不重定向到logout.php
【发布时间】:2014-06-07 05:53:55
【问题描述】:

我有一个问题,我想注销“按钮”,但不允许人们通过链接注销,就像我有 logout.php 并且我的按钮重定向到它,但您也可以通过在浏览器中输入 www 来注销。 mysite.com/logout.php

所以我想到了使用 ajax:

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

但它不起作用

我的注销.php:

<?php

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

?>

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

var userid = <? $uid ?>

我可以吗?

【问题讨论】:

    标签: php ajax logout


    【解决方案1】:

    您可以创建一个表单,其中包含一个包含 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 传递变量,无论哪种方式都可以。

    【讨论】:

      猜你喜欢
      • 2021-06-15
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      相关资源
      最近更新 更多