セッション変数に定義してデータを保存するためには、次の2ステップを実行します。これらを実行するだけで、以降は他のページでもそのデータを扱えるようになります。
PHP5.3から①は非推奨になりました。
①session_register()関数を使って変数名を登録する
引数に任意の変数名を指定します。「$」は付けず、名前だけを文字列として指定します。ここで設定された値が、他のページでも参照可能となたセッション変数名となります。この例のように、カンマで区切って変数名を列挙すると、複数の変数名をまとめて登録できます。
②登録されたセッション変数に値を代入する
代入の方法は通常の変数と同じですが、代入先になるセッション変数はスーパーグローバル変数「$_SESSION」を使って記述します。例えば「sessdata1」というセッション変数に値を代入したい場合は「$_SESSION[sessdata1]」というように、「sessdata1」を「$_SESSION」にインデックスとして記述します。
<?php header("Content-type: text/html; charset=utf-8"); //セッションを開始 session_start(); //例1:セッションに変数名を登録 //PHP5.3から推奨されなくなりました //session_register("sessdata1"); //session_resister("sessdata2"); //セッション変数にデータを代入 $_SESSION["sessdata1"] = 10; $_SESSION["sessdata2"] = "PHP:Hypertext Preprocessor"; echo "セッションに「" . $_SESSION["sessdata1"] . "」を保存しました<br>"; echo "セッションに「" . $_SESSION["sessdata2"] . "」を保存しました<br>"; //例2:セッションに複数の変数名をまとめて登録 //PHP5.3から推奨されなくなりました //session_register("sessdata3","sessdata4","sessdata5"); //セッション変数にデータを代入 $_SESSION["sessdata3"] = "技術評論社"; $_SESSION["sessdata4"] = "東京都新宿区市ヶ谷内町21-13"; $_SESSION["sessdata5"] = "http://www.gihyo.co.jp/"; echo "セッションに「" . $_SESSION["sessdata3"] . "」を保存しました<br>"; echo "セッションに「" . $_SESSION["sessdata4"] . "」を保存しました<br>"; echo "セッションに「" . $_SESSION["sessdata5"] . "」を保存しました<br>"; ?>