概要
PHP セッション (SESSION) は、Web サイトへのアクセスから Web サイトを閉じるまでのユーザーアクティビティのメカニズムを指し、すべての Web ページで使用される共通の変数ストレージメカニズムを提供します。では、SESSION は何に役立つのでしょうか?オンラインで買い物をするとき、誰もがショッピング カートを使用したことがあります。いつでも選択した商品をショッピング カートに追加し、最後にレジに行って会計を行うことができます。このプロセス全体において、ショッピング カートは選択した商品を一時的に保管し、Web サイト上でのユーザーのアクティビティを追跡するために使用する役割を果たしています。これが SESSION の役割です。
SESSION の発明により、HTTP プロトコルの制限が解消されました。HTTP プロトコルは、サーバー側で応答を完了すると、ブラウザーとの接続を失います。セッションの発明により、ユーザーは複数のページを切り替えるときに自分の情報を保存できるようになります。
セッション関数は PHP3 バージョンでは直接提供されていません。これを実現するには、PHPLIB を使用するなどの他の方法を使用する必要があります。 PHP4 を PHP3 と比較した場合、その最大の改善点は SESSION が提供されていることです。
セッションの基礎知識
セッションを利用するにはPHP 4.1以上が必要で、php.iniのregister_globle=Offをregister_globle=Onに設定する必要があります。また、 session.cookie_path = / の行は変更するのが簡単ではありません。
PHP のセッションはデフォルトでクライアント Cookie を使用します。クライアントの Cookie が無効になっている場合、Cookie は自動的に Query_String を介して渡されます。
Phpにはセッションを処理するための関数が全部で11個あります。使用する関数をいくつか詳しく紹介します。
1. session_start
機能: セッションを開始するか、既存のセッションを返します。
関数プロトタイプ: boolean session_start(void);
戻り値: ブール値
関数の説明: この関数にはパラメータがなく、戻り値は true です。この関数を最初に置くのが最善であり、その前に出力があってはなりません。そうしないと、次のようなアラームが発行されます。 警告: セッション キャッシュ リミッターを送信できません - ヘッダーはすでに送信されました (出力は /usr/local/apache/ で開始されました) htdocs/cga /member/1.php:2) /usr/local/apache/htdocs/cga/member/1.php の 3 行目
2. session_register
関数: 新しい変数をセッション変数として登録します
関数プロトタイプ: boolean session_register(文字列名);
戻り値: ブール値。
関数の説明: この関数は、グローバル変数内の現在の SESSION に変数を追加します。成功すると、パラメーター名は、論理値 true を返します。 $_SESSION[name] または $HTTP_SESSION_VARS[name] の形式を使用して、値を取得または割り当てることができます。
3. session_is_registered
機能: 変数がセッション変数として登録されているかどうかを確認します。
関数プロトタイプ: boobean session_is_registered(string name);
戻り値: ブール値
関数説明: この関数は、指定された変数が現在のセッションに登録されているかどうかを確認できます。パラメーター名は、確認する変数名です。成功すると、論理値 true が返されます。