DAY 50 PHP自主練 $_SESSIONとは?

DAY 50 PHP自主練-$_SESSIONってなに? 【ウェブカツ 】

PHP DAY 50 PHP自主練 $_SESSIONとは?

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 は 連想配列として使用します。[…]

Qiita

はじめに PHPでメールフォームや掲示板などWebアプリケーションを作りたいと考えている方は、Cookieとセッションについて必ず理解しておく必要があります。 Cookieとセッションは、ユーザーを識別するために欠かせない技術...[…]

 

DAY 50 PHP自主練 $_SESSIONとは?
最新情報をチェックしよう!