セッション制御は、ユーザーを追跡する通信方法です。セッション制御の使用は、主に次の点に基づいています。http プロトコルのステートレスな性質により、通常のプロトコルでは 2 つのリクエスト間の関連付けを確立できません。ページ データ転送メソッドは、主にパラメータの転送と、Web サイト上のユーザーの複数のページ間のデータの入力を処理します。異なるデータが存在する場合があります。 get や post を使用するのは非常に面倒です。
1. Cookie の方法
ユーザーを追跡するには、ユーザーが Web サイトの最初のページにアクセスしたときにユーザーをマークする必要があります。情報識別子。Web サーバーはそれをテキスト ファイルの形式でユーザーのコンピュータに保存します。これらのファイルはいわゆる Cookie であり、ユーザーが Web サイトの 2 番目のページ (http ヘッダー) にアクセスしたときに保存されます。 Cookie ファイル内の情報を使用してサーバーにアクセスし、先ほどのユーザー情報を再検証します。これにより、訪問ごとにユーザー情報を入力する必要がなくなり、複数のページ間の訪問が同じユーザーによるものかどうかを判断できます。
Cookieに情報を設定する関数: setcookie($key, $value, $expire, $path, $domain, $secure)。
パラメータは次のとおりです: キー、値、有効期限 (UNIX タイムスタンプ、デフォルトは 0、ブラウザを閉じると Cookie が消えることを意味します)、設定後の Cookie にアクセスするためのパス。サーバーは Cookie (デフォルトはルート ディレクトリ)、Cookie にアクセスするためのドメイン名にアクセスできます。このドメイン名の下にある Web サイト ページ (www.example.com など) のみが Cookie にアクセスでき、Cookie はhttps の安全な接続。
たとえば、post でフォームを送信した後に情報を記録します
<?php if(isset($_POST)){ $time = time(); setcookie('user', $_POST['user'], $time+3600); // 时间参数需要比当前时间点大,以表示cookie信息的有效时间 setcookie('data', array(1,2,3), $time+1200); // 可以存放各种数据 }
Cookie の削除は、やはり setcookie を通じて行われます。たとえば、時間を進める形式で記述するか、キー名を直接記述するのが最善です。 , ユーザーがクリックして終了したときにこの操作を実行します
setcookie('user', '', time()-200); // 时间提前,相对当前时间 setcookie('user'); // 简写,只写键名
s 2.セッションメソッド
session_start(); // 开启或返回一个会话2. $_SESSION 内の関連する変数をクリアしますarray
unset($_SESSION['robert']) // 销毁某一个变量 $_SESSION = array(); // 或者一次性全部销毁会话变量3. クライアントに保存されている Cookie をクリアします。セッション ID がユーザーのコンピュータに残っていることを忘れないでください
if(isset($_COOKIE[session_name()])){ unset($_COOKIE[session_name()]); // session_name()获取sesion的名,session id也是以名和值的形式存储的 }4. 完了後、サーバーに保存されている情報を完全に破棄します
session_destroy();4 つのステップでセッションが終了します。
session_start()関数を呼び出すだけです。関数の具体的な機能については、PHPのドキュメントを参照してください。この関数はセッションを使用してスクリプトの先頭で呼び出す必要があることに注意してください。そうしないと、セッションに保存されたすべての情報がスクリプトで使用できなくなります。 session_start() 関数を手動で呼び出すだけでなく、Google で自動的に呼び出すように PHP を設定することもできます。
2)セッション変数を登録する
PHP4.1以降、セッション変数はスーパーグローバル配列$_SESSIONに格納されます。セッション変数を作成するには、$_SESSION['myvar'] = 5;
のように配列に要素を設定するだけです。3) セッション変数の使用
セッション変数を使用するには、非常に簡単です。アクセスして保存する $_SESSION 配列 echo $_SESSION['mywar']; などのセッション変数で十分です。5 が出力されます。セッションを使用する前に、まず session_start() 関数を使用してセッションを開始する必要があります。
4) 変数の登録を解除してセッションを破棄します
変数の登録を解除するには、unset($_SESSION['myvar']) のように unset を直接使用します。すべてのセッション変数を一度に破棄したい場合は、unset($) を使用できます。 _SESSION); セッションの後、最初にすべての変数の登録を解除し、次に session_destroy() を呼び出してセッション ID をクリアする必要があります。
以上がPHP でのセッション制御についての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。