スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | | - | - | pookmark |
Entry: main  << >>
セッションの流れとその仕組み
セッション機能を使うには$_SESSION変数に値を格納する。PHPはこの変数の値をサーバ上のファイルに保管する。

また、PHPのsession_start関数は、ブラウザから送信されるcookieの値をもとにアクセスしているユーザを特定し、そのアクセス専用の$_SESSION変数を復元させる。

以下、セッションの一連の流れ

1.初めてのアクセス
ブラウザからサーバ上のPHPスクリプトにアクセスする。

2.セッションIDとセッションを保持するセッションファイルを作成
session_start関数は初めてのアクセスか、二度目以降のアクセスかを判別する。初めての場合は「セッションID」を生成する。

このセッションIDを元に$_SESSION変数に格納された値を保持するためのファイルをサーバ上に生成する。この時点ではファイルの中身は空。

3.$_SESSIONに格納された値をファイルに書き込む
PHPスクリプトの実行が完了すると、$_SESSIONに格納された値が「2」で生成されたセッションファイルに書き込まれる。

4.ヘッダとHTMLの出力をする
サーバからブラウザにレスポンスを返す際にセッションIDがヘッダに記載される。(ieHTTPHeadersでこの値は確認できる)

5.サーバから送信されたセッションIDをブラウザがcookieとして保存する
サーバから送信されたcookie情報をブラウザが受け取って保存する。

PHPには「session.cookie_lifetime」という設定があり、cookieの有効期限を設定することが出来る。デフォルトは0で、これはブラウザが閉じられるまで有効であることを意味する。

6.別ページへ遷移する際、自動的にcookie値がサーバに送信される
ブラウザに保持されているcookie値(ここではセッションID)は、同じドメインにアクセスした時、自動的にヘッダ情報に記載されてサーバ側に通知される。

7.セッションIDを受け取るとsession_start()関数はセッション変数を復活させる
セッションIDがcookieによって通知された場合、session_start関数はセッションファイルから値を取り出し、$_SESSIONの値を復活させる。

8.session_start()後、$_SESSIONが復活する
前画面で設定された$_SESSIONは続きのスクリプトのように利用できる。ここで$_SESSION変数が書き換えられても、3〜7の手順で次のスクリプトにセッション変数の値が引き継がれる。
| php | 11:43 | comments(0) | trackbacks(0) | pookmark |
スポンサーサイト
| スポンサードリンク | 11:43 | - | - | pookmark |
Comment








Trackback

Calendar

      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< April 2017 >>

Recommend

Recommend

Recommend

Profile

Search

Entry

Comment

Archives

Category

Link

Feed

Others

無料ブログ作成サービス JUGEM

Mobile

qrcode

Sponsored Links