セッションとは、ユーザーがWebサイトを閲覧する際に、Webサイトに入ってからブラウザを閉じるまでにかかる時間、つまりユーザーがWebサイトの閲覧に費やす時間を指します。上記の定義から、セッションは実際には特定の時間の概念であることがわかります。
PHP を使用してセッションを適用する場合、セッション内のデータはサーバーに保存され、クライアントから渡されたセッション ID によってクライアントの情報が識別され、情報が抽出されます。
私自身の例
コードは次のとおりです | コードをコピー |
session_start();//セッションを開始します。セッションを開始する必要があります (上記をsession.phpとして保存します)
session_start();//セッションを開始します (上記をsession2.phpとして保存)
session_start();//セッションを開始します (上記を deletesession.php として保存します) |
セッションの一般的な操作:
セッションの書き込み、読み取り、登録、削除。
セッションの開始
セッションの使用の開始をマークする関数は session_start であり、 session_start 関数はセッション変数を初期化するために使用されます。構文は次のとおりです:
session_start();
戻り値はTRUEです。
セッションの書き込みと読み取り
PHP では、セッションの使用は、事前定義された配列 $_SESSION を呼び出して読み取ることで完了します。
Web サイトのページで、登録ページで $_SESSION 配列を割り当て、他のページで $_SESSION 配列を読み取ります。
登録ページのセッション、例:
コードは次のとおりです | コードをコピー |
session_start(); $_SESSION['キーワード']= "php"; ?> |
セッション、例:
コードは次のとおりです | コードをコピー |
session_start(); echo $_SESSION['キーワード']; ?> |
順番に実行すると、結果は次のようになります:
php
セッションの検出とログアウト
isset 関数と unset 関数を覚えていますか?これら 2 つの関数は、それぞれセッション検出とログアウトを実装します。
isst 関数は、セッションが既に存在するかどうかを検出するために使用されます。構文は次のとおりです。
bool isset($_SESSION['session_name'])例:
コードをコピー | |
session_start(); if(isset($_SESSION['キーワード'])) echo $_SESSION['キーワード']; それ以外 エコー「www.bKjia.c0m」; ?> |
コードは次のとおりです | コードをコピー |
session_start(); |
結果:
www.bKjia.c0m
Phpにはセッションを処理するための関数が全部で10個あります。使用する関数をいくつか詳しく紹介します。
1.セッション開始
機能: セッションを開始するか、既存のセッションを返します。
関数プロトタイプ: boolean session_start(void);
戻り値: ブール値
関数の説明: この関数にはパラメータがなく、戻り値は true です。この関数を最初に置くのが最善であり、その前に出力があってはなりません。そうしないと、次のようなアラームが発行されます。 警告: セッション キャッシュ リミッターを送信できません - ヘッダーはすでに送信されました (出力は /usr/local/apache/ で開始されました) htdocs/cga /member/1.php:2) /usr/local/apache/htdocs/cga/member/1.php の 3 行目
2.セッション登録
関数プロトタイプ: boolean session_register(文字列名);
戻り値: ブール値。
関数の説明: この関数は、グローバル変数内の現在の SESSION に変数を追加します。成功すると、パラメーター名は、論理値 true を返します。 $_SESSION[name] または $HTTP_SESSION_VARS[name] の形式を使用して、値を取得または割り当てることができます。
3. セッションは登録済みです
関数プロトタイプ: boobean session_is_registered(文字列名);
戻り値: ブール値
関数の説明: この関数は、指定された変数が現在のセッションに登録されているかどうかを確認することができます。パラメーター名は、確認対象の変数名です。成功すると、論理値 true が返されます。
4. セッション_登録解除
機能: 登録されている変数を削除します。
関数の説明: この関数は、現在のセッションのグローバル変数内の変数を削除します。パラメータ名は削除する変数の名前で、成功した場合は true を返します
。
5.セッションデストロイ
機能: 現在のセッションを終了し、セッション内のすべてのリソースをクリアします。
関数プロトタイプ: ブール型セッション destroy(void);
戻り値: ブール値。
上記で紹介した関数を以下で使用しますが、セッション関連の関数もいくつか紹介します:
6. セッションエンコード
機能: セッション情報のエンコード
関数プロトタイプ: 文字列 session_encode(void);
戻り値: 文字列
関数の説明: 返される文字列には、グローバル変数の各変数の名前と値が次の形式で含まれます。 a|s:12:"it is a test";c|s:4:"lala"; a は変数です。 name s :12 は変数 a の値を表します。「これはテストです。長さは 12 です。変数はセミコロン「;」で区切られています。
機能: セッション情報のデコード
関数プロトタイプ: ブール値 session_decode (文字列データ)
戻り値: ブール値
関数の説明: この関数はセッション情報をデコードし、成功した場合は論理値 true を返します
機能: 現在のセッション名にアクセスします
関数プロトタイプ: boolean session_name(string [name]);
戻り値: 文字列
関数の説明: この関数は、現在のセッションの名前を取得またはリセットできます。パラメータ名がない場合、パラメータを追加するということは、セッション名をパラメータ名に設定することを意味します
。
9. セッションID
機能: 現在のセッション識別番号にアクセスします
関数プロトタイプ: boolean session_id(string [id]);
戻り値: 文字列
機能説明: この機能は、現在保存されているセッションの識別番号を取得またはリセットできます。パラメータidがない場合は、現在のセッションの識別番号のみを取得することを意味し、パラメータを追加すると、新たに指定したidにセッションの識別番号が設定されることになります。
10.セッション解除
関数プロトタイプ: void session_unset (void)
戻り値: ブール値
関数の説明: この関数はセッションを終了しないという点で Session_destroy とは異なります。 session_unregister 関数を使用してすべてのセッション変数を 1 つずつログアウトするのと同じです。