セッションはwebページ訪問者の情報を安全に管理するための仕組みです。
ネットショップを運営している人は、お客様の大事な個人情報を扱うことになるので覚えておきたいですね。
今はほとんど知識がなくても簡単な作業でネットショップを運営が出来ますが、知っておく責任もあると思います。
というわけでPHP・ネットショップ初心者向けに、セッションとは何か?実際にPHPでどう管理されているのかを簡単に解説していきます。
セッションとは
セッション。
Googleアナリティクスを利用している人には馴染みのある言葉ではないでしょうか。
アナリティクでのセッションは「ページ訪問から離脱までの数」を表していますが、PHPでのセッションは、webクライアント(webページ訪問者)のデータを1人1人管理するための仕組みのことを言います。
webクライアントのCookie(クッキー)に識別するための記号(セッションID)を保存させておき、サーバー側に情報を保存するのが特徴です。
サーバー側にデータが保存されるので、基本的にwebクライアント側がデータを改ざんしたり、見ることが出来ません。
この高いセキュリティ性がセッションの良いところといえます。
ページ訪問者の個人情報や、改ざんされて困るデータは必ずセッションで管理するようにしましょう。
また、このセッションIDを割り振ったり、保存したデータと結びつける作業は、複雑なプログラムを記述する必要がありません。
ちょっとした記述をしてあげるだけでOKです。
セッションによるデータ管理の流れ
- webクライアントがサーバーにアクセス
- ページを訪問することでセッション開始
- セッションIDが割り振られていない場合(ページ初訪問)はセッションIDを割り振りCookie(クッキー)に保存
- 終了時にグローバル変数「$_SESSION」の内容をサーバーに保存
2回目以降の訪問時は、Cookie(クッキー)に保存されているセッションIDをもとに、サーバーに保存しておいた「$_SESSION」の内容を復元します。
それ以外は通常と同じ流れとなります。
PHP セッションの使い方
セッションを開始する session_start()関数
セッションを扱うには始めに以下のコードを記述しておく必要があります。
これがセッションを扱うための準備となります。
<?php session_start(); ?> <html> ~ </html>
このコードは必ず先頭に書きます。上記のようにHTMLコードよりも前に記述しておきましょう。
グローバル変数 $_SESSION
session_start()の記述により、グローバル変数「$_SESSION」が使えるようになります。
この変数にそれぞれの情報を格納することで、1人1人の情報を管理していきます。
<?php session_start(); $_SESSION["key"] = "値"; ?>
「$_SESSION」にはキーと値をまとめて格納しておくことが出来ます。
これでページ訪問者それぞれの値を記憶しておくことが出来るので、あとはこの値を組み込んだプログラムを記述することで、それぞれのデータをもとにした対応が出来るわけです。
最後に
セッションはセキュリティが高いのに、意外と簡単に扱えるのがいいですね。
はじめはCookie(クッキー)とよく混同されがちですが、サーバー側にデータが保存されるというのがポイントです。