login実装中は他の関連ページ入れないようにする方法について学習したので、共有します。
通常、login機能を実装しただけでは関連ページをlocalhost/~で
入力すると関連ページを開くことができます。
これを見れないようにする方法は、リダイレクト機能を使うことによって関連ページを入力すると
loginページに戻るように設定する方法を共有します。
①sessionにidを持たせる
if( password_verify($login_pw ,$user["login_pw"])){
//password_verify指定したハッシュがパスワードにマッチするかどうかを調べます。
//Login成功したら、session_id,name,age,mailを持たせてreg_list.phpへ
$_SESSION["chk_ssid"] = session_id(); //自分のsession.ID
$_SESSION["id"] = $user['id']; // idを持たせる
$_SESSION["name"] = $user['name']; //nameを持たせる
$_SESSION["age"] = $user['age']; // ageを持たせる
$_SESSION["mail"] = $user['mail']; //mailを持たせる
redirect("reg_list.php");
}else{
echo "login情報が違っています。";
}
exit();
loginページで「 $_session["id"] = $user['id']; 」
を持たせることによって他のページでも「id」の他に「name」、「age」、「mail」を
$sessionがある場所に限り使用可能である。
〜〜〜〜〜※その他※〜〜〜〜〜〜
session start(); を持たせることによって
session start(); を持っている〜.phpの場所はページ内のどこでも
「id」「name」「age」「mail」を使うことができる。
②関連ページに$sessionがない場合は「login.php」へ戻るようにすると
if(!isset($_SESSION['id'])){
header("Location:./login.php");
exit();
}
sessionのidを持っていない場合は、「 login.php 」のページに戻すと
関連ページの「 <?php 」のすぐ上に記述することによってうまく書くことができます。