PHP自主練 / 1hour
Sep / 26.5hour
Total / 128hour
WEBサービス部の自主練用教材
$_SESSION はセッションファイルに情報を保存するもの
そもそもセッションってなに?
→ユーザーを一人一人識別して、それに紐づいた情報を維持する機能のこと。
順を追って見ていくと・・・
① セッション開始を宣言する
<php
session_start();
?>
こうすると、まずブラウザくんはサーバーさんに
「ユーザーを識別するために、セッションIDを作成して! あと情報もそれに紐づいて追加されるからデータを格納できるファイル(これがセッションファイル)も作ってね!」
という命令をだす。
すると、 PHPさんは
「分かりました。それではセッションIDとセッションファイルを作成致します。今後はこのセッションIDを使って確実に紐付けられるように、ブラウザくんの方でもこのIDを保存しておいていただけるでしょうか?」
というレスポンスをブラウンくんに返します。ここで保存される場所がCookie。
ブラウザくん
「うん、わかった!今後はこのIDを元にしてデータをやり取りしようね!」
となります。
ちなみにセッションIDはこんな感じです。↓
session_start();
echo session_id();
//f4bdotcmbuqlf60qbo74559lnc
② $_SESSIONを用いて情報を追加する
$_SESSIONくんの特徴
1.連想配列の形式で使用する
2.PHPで元々定義されているスーパーグローバル変数。
*スーパーグローバル変数=コードのどこからでも呼び出せる変数。名は体を表す、という通りすごいやつ。親戚に$_POSTさんや$_GETさんがいる。
session_start();
$_SESSION[name] = "ブラウザくん"; //・・・①
$name = $_SESSION[name];
echo $name; //・・・②
//ブラウザくん
①のやり取り
ブラウズくん
「PHPさん!さっきのID(f4bdotcmbuqlf60qbo74559lnc)の人、追加で情報があったからセッションファイルに入れておいてくれない?
ちなみに情報はキー名が[name]で値が[ブラウザくん]の連想配列形式でよろしく!」
PHPさん
「かしこまりました。そうするとIDが(f4bdotcmbuqlf60qbo74559lnc)のセッションファイルのなかには次のような形で保存しておきます。
$_SESSION
(
[name] => ブラウザくん
)
②のやり取り
ブラウザくん
「PHPさん!以前にID(f4bdotcmbuqlf60qbo74559lnc)のセッションファイルに保存した、キー名が[name]の値をくれるかな!」
PHPさん
「はい、かしこまりました。確かキー名が[name]の値は・・・「ブラウザくん」ですね。はい、どうぞ。」
ブラウズくん
「ありがとう!IDで管理しているから、ページのどこからでも呼び出せるね!」
*あくまで個人のイメージです。
参考
PHP の $_SESSION(セッション変数) は、セッションデータコンテナに保存されている値の変数です。_SESSION は 連想配列として使用します。[…]
Udemy で講座の販売を開始しました! Udemy で「プログラミング学習の心得&HTTPの基礎」の動画講座を公開しました。 特別に 85% OFFのクーポンを発行します。 通常価格 10,800 円が 1,600 円で購入できま...[…]