私は単純なチャットスクリプトを実行しています。私は現在のセッションを終了し、ユーザーをDBから削除するkillSession関数を持っています。問題は、名前が設定され、チャットフォームがロードされていないことを確認した後、セッションを終了してloginForm()に戻ります。スクリプトは次のとおりです:
私は、ページを更新したり閉じたりした後でkillSession()をトリガーする方法はありますか?
UPDATE:
まだそれを把握することはできません。たぶん、休憩が必要なのかもしれません。
$(window).unload(function() {
$.get("killSession.php", { name:"test" }); // i set the name to test for testing
});
ここkillSession.phpページがあります:
session_start();
function killSession($name) {
include("config.php");
mysql_query("DELETE FROM sessions WHERE name='$name'");
session_destroy();
header("Location: index.php");
}
killSession($_GET['name']);
の$に.getはまだ動作しませんので、私はブラウザを介しseparatlyそれを試してみました。 killSession.php?name = testはDBから削除しますが、セッションを強制終了しません。
あなたは 'killSession'関数を呼び出すことを忘れてしまいます。関数を宣言しても関数は呼び出されません。 SQLインジェクションについても自分自身に知らせるべきです。 – Gumbo
ああ、申し訳ありません、私はここにそれを追加するのを忘れました。 killSession($ _ GET ['name']); – Norbert
セッションの問題を修正しましたので、killSession.php?name = testは正しく動作します。唯一の問題は今PHPコードを実行していない$ .getです。 – Norbert