セッションとは,PHPシステム側で用意される時限付きの状態記憶機能です。セッションが有効である間は固有の変数(セッション配列)である$_SESSIONを使うことができ,どのPHPスクリプトであってもセッションを有効にすればこの$_SESSIONに記憶された値を共有し,読み書きすることができるようになります。これによって,例えば一度ログインしたユーザかどうかの情報をどのページでも確認することが可能になります。
session_startファンクションを使用し,初期化処理を行う必要があります。セッション配列$_SESSIONに値を格納し,別ページでも利用できること確認しましょう。ここで使用するファイルと,セッション変数の共用の様子を示したものが下記の図になります。一通り実行した後で,$_SESSION['word']に格納された値がどのように共通化されているのか,もう一度確認して下さい。
まず,次のフォームから値を入力します。
HTMLファイル:session_form.html
画面の表示
フォームから受け取ったデータ$_POST['word']をセッション配列$_SESSION['word']に格納するスクリプトは次のようになります。
PHPスクリプト:session_start.php
$_SESSION['word']に入力された値を表示して確認し,ページ下のリンクをクリックして別のPHPスクリプトsession_follow.phpに飛んでみましょう。
画面の表示
前のページと同じ値が$_SESSION['word']から取得できるか確認するPHPスクリプトが下記になります。
PHPスクリプト:session_follow.php
同じ値が入っていることを確認したら,ページ下のリンクからセッションを終了させるPHPスクリプトに飛びます。
画面の表示
セッションを終了するにはsession_unset(),あるいはsession_destroy()ファンクションを使います。
session_unset関数は全てのセッションを終了させます。セッション配列の個別のインデックスを消去するにはunset($_SESSION[インデックス])とします。
PHPスクリプト:session_end.php
画面の表示