3

ユーザーが「ログアウト」をクリックしたときにセッションを破棄しようとしています.jQueryを使用してonClick関数を呼び出し、.PHPファイルを呼び出しますsession_destroy();.

index.php

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

logOut()これにより、ユーザーがログインしていて、Nav.js に含まれているonClick を呼び出す必要がある場合にのみ、ログアウト ボタンが表示されます。

Nav.js

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

logOut.php

<?php
  session_destroy();
?>

[ログアウト] をクリックしても何も起こらないようで、Chrome Dev コンソールでエラーが発生しません。何が問題ですか?

4

2 に答える 2

5

呼び出す前にセッションを開始する必要がありますsession_destroy()

<?php
  session_start();
  session_destroy();
  header("Location: login.php");   //redirect your page to login page
?>
于 2013-03-19T17:35:58.087 に答える
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セッションを破棄した後、ファイルにリダイレクトを追加する必要がある場合があります。

于 2013-03-19T17:34:29.443 に答える