戻る

セッションを変数にデータを保存する

session_register()関数、$_SESSION

セッション変数に定義してデータを保存するためには、次の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>";
?>

inserted by FC2 system