LoginSignup
0
0

More than 1 year has passed since last update.

login実装中は他の関連ページ入れないようにする方法、sessionを持たせる

Last updated at Posted at 2022-10-07

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 」のすぐ上に記述することによってうまく書くことができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0