无法弄清楚为啥我的注销按钮不起作用(php)[重复]

Posted

技术标签:

【中文标题】无法弄清楚为啥我的注销按钮不起作用(php)[重复]【英文标题】:Can't figure out why my logout button is not working (php) [duplicate]无法弄清楚为什么我的注销按钮不起作用(php)[重复] 【发布时间】:2020-04-16 08:43:16 【问题描述】:

我正在尝试为网站创建登录页面。我已经按照其他指南/帖子了解了这一点,但我无法弄清楚为什么我的注销按钮不起作用。

登录功能按预期工作,但登录后我无法注销。

注销.php

<?php   
 //logout.php  
 session_start();  
 session_destroy();  
 header('Location: ' . $_SERVER['HTTP_REFERER']);  
 ?>  

index.php

<?php
ini_set("session.save_path", "/home/sessionData");
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta name="viewport" content="width=device-width, 
  maximum-scale=1.0">        
  <meta charset="UTF-8">
  <title>Index</title>
</head>
<body>
    <?php 
    $form = '
    <div class="form-container">                 
      <form method="post"action="loginProcess.php">  
        <label>Username</label>  
        <input type="text" name="username" class="form-control" />  
        <br />  
        <label>Password</label>  
        <input type="password" name="password" class="form-control" />  
        <br />  
        <input type="submit" name="login" class="btn" value="Login" />  
      </form>  
    </div>
    ';


   if(isset($_SESSION["username"]))

   echo '<h3>Login Success, Welcome - '.$_SESSION["username"].'</h3>';  
  echo '<br /><br /><a href="logout.php">Logout</a>';  
  

  else 
  echo $form;
  
?>

</div>
</div>
</body>
</html>

还有一个数据库连接脚本,但我很确定这不是问题,所以我把它忽略了。感谢您的帮助,如果您需要我澄清任何事情,请告诉我:)

【问题讨论】:

我质疑为什么之前将其编辑掉。我把它滚了回来。请不要那样做。你在诋毁这个问题。 请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Exchange 网络上发帖,您已在 CC BY-SA 4.0 license 下授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本。因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work? 【参考方案1】:

你不见了:

ini_set("session.save_path", "/home/sessionData");

在 logout.php 中。您应该在 php.ini 中设置它以防止这种情况发生。

【讨论】:

【参考方案2】:
session_start();
session_destroy();

你还需要

session_unset();

为了清除全局变量

【讨论】:

以上是关于无法弄清楚为啥我的注销按钮不起作用(php)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法弄清楚为啥“悬停”不起作用

第二次 Django 注销不起作用

无法弄清楚为啥我的提交按钮不会提交

无法弄清楚为啥我在我的 jsonp 序列化中得到重复数据

logout() 在使用 passport.js、express.js、AngularJs 时不起作用

margin:auto 似乎不起作用,无法弄清楚