LoginSignup
0
0

More than 3 years have passed since last update.

sessionを使ったログイン管理まとめ

Last updated at Posted at 2020-11-03

すぐに忘れて調べなおすことになるので自分用にまとめ

ログインhtml画面

<form method= "post" action="login_check.php">
<input type="text" name="name" placeholder="名前を入力してください">
<input type="password" name="password" placeholder="パスワードを入力してください">
<input type="submit" value="ok">
</form>

チェック動作


$name = $_POST['name'];
$pass = $_POST['password'];

if( ){
   //パスワード、名前のバリデーション
}else{
   session_start();
   $_SESSION['login'] = 1;
   $_SESSION['name'] = $name;
   header('Location: login_top.php');
  exit();
}

ログイン必須にしたい画面

login_top.php
<?php 
session_start();
session_regenerate_id(true);

if(isset($_SESSION['login']) == false){
    print 'ログインしてください';
    exit();  //これでログインしていない人は以下の画面を見られなくなる
}else{
    print $_SESSION['name'];
    print 'さん、ようこそ';
}

?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>トップ</title>
</head>
<body>
ログインした人にだけ見られるページです。
</body>
</html>

ログインした人にだけ見せたいページはこんな感じ。

冒頭部分を

if(isset($_SESSION['login']) == false){
    print 'ログインしてください';
}

にする(exit()を抜く)とその後のhtml画面も見えてしまうので注意。

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