セッション変数の書き込みと読み込み
セッションを開始したら、サーバ側に値を保存することができます。クライアント毎に色々な値が書き込まれますが、セッションIDを識別子としてどのクライアントが保存した値かは識別できるようになっています。
サーバ側に保存する値をセッション変数と言います。セッション変数は複数保存できますので色々な値を保存することができます。
セッション変数に値を書き込むにはPHPで定義済みの変数「$_SESSION」を使います。
$_SESSION[セッション変数名] = 値
例えばセッション変数「visited」に値を書き込むには下記のようにします。
$_SESSION["visited"] = 1;
クッキーだけを使って値をクライアント側に保存する場合は盗み見られる場合などもあります。セッションでは値はサーバ側にセッション変数として保存されますので大事なデータを扱う場合などはセッションの方を出来る限り使います。
では実際に試してみます。まずセッションを開始し、セッション変数に値を保存します。そして同じホームページにクライアントがアクセスする度にセッション変数の値を増加させてみます。また同時に前回訪問した日時を表示させてみます。
<?php session_start(); ?> <html> <head><title>PHP TEST</title></head> <body> <?php if (!isset($_SESSION["visited"])){ print('初回の訪問です。セッションを開始します。'); $_SESSION["visited"] = 1; $_SESSION["date"] = date('c'); }else{ $visited = $_SESSION["visited"]; $visited++; print('訪問回数は'.$visited.'です。<br>'); $_SESSION["visited"] = $visited; if (isset($_SESSION["date"])){ print('前回の訪問日時は'.$_SESSION["date"].'です。<br>'); } $_SESSION["date"] = date('c'); } ?> </body> </html>
上記ファイルをWWWサーバに設置しブラウザ経由で見ると下記のように表示されます。
2回目以降に同じホームページにアクセスすると、セッション変数を読み出して下記のように表示されます。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。