今日はセッションについて勉強していきたいと思います。

セッションとは何か??

例えば、ログインフォームを作った後にログインが完了して操作を行うページを作ったとします。
直接、ログインが完了したページのURLを打ち込んでしまえば、パスワードを知らなくても簡単に侵入出来てしまいます。
そんな事態を防ぐための仕組みがセッションです。

セッションの仕組みはクッキーと似ています。
違いは、 クッキーは管理したい値をクライアント側に保存するのに対し、セッションではサーバ側で管理すること です。

クライアント側にはどのセッションを使っているかを識別するためのセッションIDだけを保存します。
このセッションIDをクライアント側に保存するためにクッキーを使います。
クッキーに重要な値を格納した場合、盗み見されてしまう場合があるため、ログインフォームなどではセッションを使う事になります。

関数

session_start関数

セッションをスタート、あるいは再開します。
http://php.net/manual/ja/function.session-start.php

コード

<?php
    session_start();
?>

<html>
<head>
<title>セッション</title>
</head>
<body>

<?php

    if (!isset($_COOKIE["PHPSESSID"])){
        echo"セッションを開始します。";
    }else{
        echo"セッションは開始しています。<br>";
        echo"セッションIDは ".$_COOKIE["PHPSESSID"]." です。";
    }

?>

</body>
</html>

実行結果

初めてページを訪れた時には、

セッションを開始します。

次以降は

セッションは開始しています。
セッションIDは*****です。

と表示されます。

解説

最初にアクセスした時にセッションが開始されます。
セッションIDが割り当てられ自動的にクライアントにクッキーを使ってセッションIDが保存されます。
二回目以降にこのページにアクセスすると、セッションは新規に開始されず以前のものが再利用されます。
セッションIDはランダムな値が使われます。
PHPSESSIDという名前のクッキーとして格納され、$_COOKIE["PHPSESSID"]を使って呼び出します。

以上

最終更新:2015年10月25日 19:27