私はウェブサイトにいくつかのページを持っています。すべてのページにはバーがあり、次のように配置します。
session_start();
include('bar.php');
echo $bar;
bar.php の内容は多かれ少なかれ次のとおりです。
session_start();
$username=$_SESSION['username'];
if empty($username) {
$bar='You are not logged in.';
} else {
$bar='You are logged in.';
}
問題は、バーが機能する (つまり、実際にログインしているのに「ログイン済み」と表示される) 場合と、機能しない (ログインしていないユーザーのコンテンツを表示する) ことです。たとえば、インデックスを参照すると、ログに記録されていないユーザーのバーが表示されますが、ログイン ページに移動すると、ログに記録されたユーザーのバーが表示されます。
また、PHPSESSID Cookie を削除してからログインしようとしましたが、このバグは表示されませんでした。なんで?