ロールごとのユーザー インターフェイスと機能を備えた Web アプリケーションを開発しています。usersテーブルには、各ユーザーの役割を格納する列がroleあります。enumログイン スクリプトで、ユーザー/パスに一致するレコードが見つかった場合、SESSION['role']変数をレコードのロール フィールドの値に設定します。SESSIONロールに加えて、他の変数の display_name など、いくつかのデータも保存します。次に、SESSION['role']アプリケーション全体で使用され、正しいユーザー インターフェイスをブラウザーに送信し、アクセス ルールを適用します。
これは私のローカルホストではすべて正常に動作しますが、リモート サーバーでSESSION['role']は初めて動作します。つまり、正しいユーザー インターフェイスがブラウザに送信されます。その後、SESSION['role']どういうわけか別の (既存の) ロールに変更され、その結果、アクセス ルールによって機能を使用できなくなります。さらに奇妙なのは、SESSION['role']変化するだけか、SESSION['displayname']または元のSESSION['username']ままであることです。
SESSION以外の場所に変数を設定していませんlogin.php。潜在的な原因を探す必要があるアイデアは大歓迎です。