セッション管理

セッションとは

Webアプリケーションにおけるセッションとは、「ユーザーのアクセスに対してユーザー毎に変数を保持する」、「複数のページ間で、変数の共有を可能にする」。Webサイトを訪れた訪問者が行う一連の行動や、その行動を通じてやり取りされる情報などがセッションにあたります。
つまり、クッキー機能を利用してWebサーバーとブラウザ間で継続した通信を行うために必要な機能である。

セッションの仕組み

サーバーはリクエストがあったクライアントに対して、セッションIDというものをだし、それをクライアント側に保存させます。サーバーはセッションIDとクライアントとのやり取りの情報を保存します。次回、クライアントがそのサーバーに接続した際に、セッションIDによりそれまでにやり取りした情報や記録を保持したものを引き継ぐことができるのです。セッションとクッキーの違う点はクッキーはクライアント側で情報を保存しますがセッションではサーバー側が情報を保存します。

セッション機能を使うには、「$_SESSION」というスーパーグローバル変数に値を格納します。
PHPはセッション変数($_SESSION)の値をWebサーバー上のファイルに保管します。
また、PHPのsession_start関数は、ブラウザから送られてくるクッキーの値をもとに、どのブラウザかを特定し、そのブラウザ専用のセッション変数を復元させます。

セッションの利用

「session_start();」と書くことでセッションを初期化し使用します。

書き方例( session.html )
            商品登録
            
商品名
テキストボックスに入力された値をPOSTを使ってregist.phpへ送る
         ↓
書き方例( regist.php )
                <?php
                  session_start();
                ?>
                <?php
                  $syouhin = $_POST['syouhin'];
                  $_SESSION['syouhin'] = $_POST['syouhin'];
                  print("次の商品を登録しました<br>");
                  print("商品:$syouhin<br>");
                ?>
                商品の確認
        
POSTで送られてきたデータを受け取りセッションに設定する
         ↓
書き方例( regist_check.php )
                <?php
                  session_start();
                ?>
                <?php
                  print ("登録済み:<br>");
                  print ($_SESSION['syouhin']."<br>");
                ?>
        
セッション内に入っているデータを取得し表示する