运行PHP onClick - session_destroy

时间:2013-03-19 17:31:02

标签: jquery html php

我希望在用户点击“注销”时销毁会话,我试图通过使用jQuery调用函数onClick来执行此操作,然后使用jQuery调用包含session_destroy();的.PHP文件。 / p>

的index.php

<?php  
if(isset($_SESSION['username'])) {
  echo "<li><a href='#' id='logOut' onclick='logOut();'>Log Out</a></li>";
}
?>

这使得注销按钮仅在用户登录时以及onClick应该调用Nav.js中包含的logOut()时可见。

Nav.js

function logOut() {
  $.get("../Controller/logOut.php");
  return false;
}

logOut.php

<?php
  session_destroy();
?>

当我点击“退出”时似乎没有任何事情发生,我在Chrome Dev控制台中没有收到任何错误。有什么问题?

2 个答案:

答案 0 :(得分:4)

您必须在致电session_destroy()

之前开始会话
<?php
  session_start();
  session_destroy();
  header("Location: login.php");   //redirect your page to login page
?>

答案 1 :(得分:1)

您正在使用AJAX请求。要直接注销,只需直接调用logOut.php文件。

function logOut() {
  window.location = "../Controller/logOut.php";
  return false;
}

或者最简单的方法:

<?php  
if(isset($_SESSION['username'])) {
  echo "<li><a href='../Controller/logOut.php' id='logOut'>Log Out</a></li>";
}
?>

您可能需要在销毁会话后向logOut.php文件添加重定向。