PHP ログイン/セッション管理について
これで俺もPHPマスター
>>check.php(htmlでもええんかな?)
<?php
//既にログイン状態ならそのまま目的地へ吹き飛ばす
if (isset($_SESSION["USERID"])) {
header("Location: main.php");
exit;
}// エラーメッセージ(エラーの場合は値を代入)
$errorMessage = "";
// 画面に表示するため特殊文字を滅ぼす(エスケープする)
$viewUserId = htmlspecialchars($_POST["userid"], ENT_QUOTES);
// ログインボタンが押された!
if (isset($_POST["login"])) {// 認証成功(hoge部分がそれぞれID、PASSになる)
if ($_POST["userid"] == "hoge" && $_POST["password"] == "hoge") {// セッションIDを新規に発行する(使い捨て的ニュアンス)
session_regenerate_id(TRUE);
$_SESSION["USERID"] = $_POST["userid"];
header("Location: main.php");
exit;
}
else {
$errorMessage = "IDかPASS間違ってんよ!!";
}
}?>
//以下HTML部分
>>main.php(目的のページ)
<?php
session_start();// ログイン状態じゃなければお帰り願う
if (!isset($_SESSION["USERID"])) {
header("Location: logout.php");
exit;
}echo "ようこそ" . $_SESSION["USERID"] . "さん";
?>//以下HTML部分
>>logout.php(消えてなくなれっ!)
<?php
session_start();if (isset($_SESSION["USERID"])) {
$errorMessage = "ログアウトしました。";
}
else {
$errorMessage = "セッションがタイムアウトしました。";
}
// セッション変数のクリア
$_SESSION = array();
// クッキーの破棄(あんま理解してない)
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// セッションクリア
@session_destroy();
?>//以下HTML部分
これまんまコピーしたらとりあえずいける
追記
ログイン画面デザイン参考