ログインをチェックし、ログアウトボタンを含むメンバーページを作成しました - 以下のコードを参照してください。開発された関数「DBLoggedin()」のコードは、サイト「http://www.phpro.org/tutorials/Basic-Login-Authentication-with-PHP-and-MySQL.html - ログインのテスト」セクションからコピーされます。ユーザー」。
ログインしてから初めて、以下のコードを含むメンバーページをロードすると常に機能します。このページを更新すると、「このページにアクセスするにはログインする必要があります」と報告されるため、セッション ID 情報が失われたようです。ただし、以下のコードで session_destroy() を使用して「button onclick」行を削除すると、メンバーページは常に正常に動作します。
ページを更新してもセッション情報が破棄されないように、以下のコードにログアウト機能を実装するにはどうすればよいですか? または、更新時にセッション情報を破棄するコードに別の障害がありますか?
助けてください。前もって感謝します
メンバーページのコード:
<?php
/*** begin the session ***/
session_start();
//! include lib after session_start()
include 'test_ecis_lib_pdo.php';
/*** mysql hostname ***/
$mysql_hostname = 'localhost';
/*** mysql username ***/
$mysql_username = 'root';
/*** mysql password ***/
$mysql_password = 'xxxxx';
/*** database name ***/
$mysql_dbname = 'xxxx';
if(DBLoggedin($mysql_hostname, $mysql_username, $mysql_password,$mysql_dbname))
{
echo "<br> still logged in";
}
else
{
echo "<br> you are not authorised to access this page";
echo "<br error: ".$message;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Members Only Page</title>
</head>
<body>
<h2><?php echo $message; ?></h2>
<button onclick="<?php Logout();?>"> Logout</button>
</body>
</html>