无法在PHP中使用session_destroy注销用户?

时间:2015-08-21 14:56:52

标签: php session

以下是我在每页顶部的代码:

<?php 
session_start();
// More Code Here //

这是我的登录按钮代码:

function Login() {
// Connecting to Database  
  if($rows == 1) {
  // Setting a Cookie
  $_SESSION['login'] = true;
  }
mysqli_close($connection);
}

这是我的退出按钮代码:

function Logout() {
  session_destroy(); 
  return true;
}

我在以下条件下调用这些函数:

if (isset($_POST['submit']) && $_POST['submit'] == 'logout') {
  $bool = Logout();
  if($bool == true) {echo 'Logged Out!'; }
}

但它永远不会回声Logged Out。我在这做错了什么?这也是我的PHP文件中的代码序列。首先登录功能,然后注销功能,然后条件检查要调用哪个功能。

这是HTML表单:

<?php if($_SESSION['login']==true) { ?>
  <li>
    <form class="form-inline" method="post" action="">
      <button type="submit" value="logout">Log Out</button>
    </form>
  </li>
<?php } ?>
<?php if(!isset($_SESSION['login'])) { ?>
  <li>
    <form method="post" action="">
      <button type="submit" name="submit" value="login">Login</button>
    </form>
  </li>
<?php } ?>

1 个答案:

答案 0 :(得分:1)

您需要为按钮指定RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 属性以与name数组对应:

$_POST