【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

一つのphpファイルでログイン画面を作りたい

一つのphpファイルでログイン画面→管理者画面
ログインエラー画面を作りたいと思っております。

下記のスクリプトで上手くセッションが保持できないので、
どなたかご教授ください。
宜しくお願いいたします。
--------------------------------------------
session_start();
//パスワードチェック
$error_flag = 0;
if(isset($_POST["login"])){
if($_POST["id"] == $login_id && $_POST["password"] == $login_pass){
$_SESSION["login"]["admin"] = 1;
}else{
$error_flag = 1;
}
}

if(isset($_SESSION["login"]["admin"]) && $_SESSION["login"]["admin"] == 1){
//管理者画面
}else{
//エラー画面
}

A 回答 (1件)

セッションファイルが作成されるのは、スクリプト終了後?だったような気がします。


したがって、セッションを格納したページでそのセッションを見ることはできない?ということだったような・・・

この画面処理ですと、セッションに値を格納した後に一度再読み込み(Refresh等)しないとセッションに保存した値をみることができません。

なので、わざわざセッションで管理者を特定するよりも、POSTされてきたデータをそのまま使って特定したほうが効率がいいです。

if($_POST["id"] == $login_id && $_POST["password"] == $login_pass){
//管理者画面
}else{
//エラー画面
}

POSTされたデータをそのページで扱えない理由があるようでしたら、それも添えて質問してみてください。。。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!