ログアウト スクリプトに問題があります。ユーザーがログアウトを押すと、セッションが強制終了され、ユーザーがログアウトしたことが通知される logout.php に移動します。
しかし、ブラウザのキャッシュが空になっている場合、またはサイトがインターネットに接続されていない場合に、ユーザーがログアウト ボタンをクリックすると、次のエラー メッセージが表示されます。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
ログアウトを「1」に設定できないため失敗するため、elseステートメントをどこかに配置してlogout.phpにリダイレクトする方法を知りたいので、その恐ろしい構文エラーメッセージが表示されません。
これが私のコードです:
<?php
ob_start();
require('includes/_config/connection.php');
require('includes/functions.php');
?>
<?php
session_start();
$result = mysql_query("UPDATE ptb_users SET user_online='Offline' WHERE id=".$_SESSION['user_id']."")
or die(mysql_error());
?>
<?php
// Four steps to closing a session
// (i.e. logging out)
// 1. Find the session
// 2. Unset all the session variables
$_SESSION = array();
// 3. Destroy the session cookie
if(isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
// 4. Destroy the session
session_destroy();
redirect_to("login.php?logout=1");
ob_end_flush()
?>