マイページや管理画面のログイン機能はセッションで導入する

2012-08-04    610   1527

PHPでログイン機能を導入する場合はsession(セッション)というものを使います。cookie(クッキー)と似ていますが少し違います。単純に説明すると、cookieはブラウザに保存、sessionはサーバーに保存といったところでしょうか。sessionはcookieよりもセキュリティーが固いのでログイン機能ではcookieは使いません。では早速、コードを見てみてください。

<login.php>


<?php
session_start(); //*1 下記説明
if($_POST['pass'] == $PASS){
    $_SESSION['user'] = session_id(); //*2 下記説明
    header("location:admin.php"); exit;
}
?>
*1 セッション使用する際に必ず必要な一文。
*2 セッション変数にセッションID(複雑な英数字の文字列)を代入

流れを説明すると、セッションを使いますという宣言をして、パスワードが一致した場合はセッション変数に被らない文字列を代入し、管理画面へページ遷移するという形です。

※上記のコードではフォームの部分は省略しています。

<admin.php>


<?php
session_start();
if(!$_SESSION['user']){
    header("location:login.php"); exit;
}
?>

次に、管理画面では最初に$_SESSION['user']に値があるかないかを調べ、あればそのままページ維持し、なければログインページに戻します。こうすることで管理画面(admin.php)はセッション変数に値がないと入れなくなります。セッション変数の値はログイン画面でパスワードが一致した時にしか発行しません。

<ログアウト処理>


<?php
session_destroy();
?>

ログアウトの処理は簡単。セッション変数を空にするだけです。

カテゴリ: PHP

comment 登録なしでご自由にご入力いただけます(^^)ぜひぜひ記事のご感想をお聞かせ下さい。

お名前とコメントは入力必須です。

コメントの文字数が短すぎます。

この内容でコメントを送る
コメントをする

目が疲れている方向けにラジオ系Youtubeを始めました

オススメのPHPに関する記事

この記事がお役に立てましたら是非シェアのご協力お願いします。