セッション
PHP4 の最も目を引く新機能は SESSION 管理機能です。他の人があなたのサイトにアクセスしたときに、変数を SESSION オブジェクトに保存して、多くの新しい機能を実現できます。まず SESSION とは何かについて説明します。SESSION は、誰かが Web サイトにアクセスしたときに開始され、Web サイトを離れたときに終了します。もちろん、基本的に、COOKIE はブラウザーとサーバー上のいくつかのリソースに接続します。デフォルトでは、PHP4 はこれらの変数を保存するためにファイルを使用します。もちろん、理論的にはデータベースまたは共有メモリに保存することもできます。PHP4 の SESSION 機能を使用する Web ページはすべて呼び出す必要があります。 session_start() 関数は、PHP4 エンジンに SESSION 関連の情報をメモリにロードさせます。 session_start 関数は、COOKIE または現在の HTTP リクエストのパラメータから SESSION ID を見つけようとします。見つからない場合は、新しい SESSION オブジェクトが実行されます。
SESSION 変数とは何ですか?
SESSION 変数は、実際には SESSION 変数として登録 (宣言) されると、その値にアクセスできるようになります。変数を SESSION 変数として登録するには、まず変数に値を割り当ててから、(session_start を介して) SESSION 関数を使用する後続の Web ページで、「変数名」を呼び出します。 SESSION 変数として再登録する必要はありません。通常の変数と同様に、その値はプログラム内でこの変数の値を変更すると、自動的に再登録されます。保存すると、後で自動的に再登録され、保存されます。
では、何ができるのでしょうか?
SESSION 管理と SESSION 変数を使用する方法はたくさんあります。ここでは、Web サイトの仮想コミュニティを構築していると仮定します。負荷を軽減するために、現在確認されているユーザー名や新しいメッセージの数などの情報を追跡する必要があるとします。データベースに保存するには、他の方法を使用する必要があります。次の 2 つの方法があります:
3 つの COOKIE を使用する
Authenticated_user - 現在確認されているユーザー名
num_message - 持っている新しいメッセージの数
expire_time - COOKIE の有効期限
SESSION を使用して 3 つの SESSION 変数を登録します
最初の方法には大きなセキュリティリスクがあり、他の方法では COOKIE を偽造し、別のアカウントを使用してシステムにアクセスする可能性があります。さらに、すべての情報は HEADER() 関数を通じて実装されますが、これはさらに面倒です。さらに、ユーザーのブラウザが 1 つの Cookie の受け入れを拒否すると、データ全体が不完全になります。
SESSION を使用すると、すべての情報を保存するのに 1 つの COOKIE だけが必要になります。
欠点
任意のサーバーを使用できます。 SESSION は非常に自由で柔軟かつ強力な機能を提供するスクリプト言語ですが、PHP4 の SESSION には次のような制限があります。 - オブジェクト自体を SESSION に保存することはできません。 - PHP4 では、SESSION に保存されるデータの効率があまり高くありません。 SESSION情報を保存するファイル。