すぐに忘れて調べなおすことになるので自分用にまとめ
ログイン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画面も見えてしまうので注意。