アプリを実行するときは、アプリを開いて変更を加えてから閉じます。セッションによく似ています。コンピューターはあなたが誰であるかを知っています。ユーザーがアプリケーションをいつ開始し、いつ終了するかを認識します。しかし、インターネットには問題があります。サーバーはユーザーが誰で何をしているのかを知りません。これは、HTTP アドレスが状態を維持しないためです。
PHP セッションは、後で使用できるようにユーザー情報 (ユーザー名、購入したアイテムなど) をサーバーに保存することで、この問題を解決します。ただし、セッション情報は一時的なものであり、ユーザーがサイトを離れると削除されます。情報を永続的に保存する必要がある場合は、データをデータベースに保存できます。
セッションは、訪問者ごとに一意の ID (UID) を作成し、この UID に基づいて変数を保存することで機能します。 UID は Cookie に保存されるか、URL を通じて渡されます。
1. 会話を開始します
情報をセッションに保存する前に、まずセッションを開く必要があります。 PHP は、セッションを開始または継続するための session_start() 関数 を提供します。定義:
1 bool session_start( void )
通話は次のとおりです:
リーリー
注意:
(1) session_start() 関数 は、 タグ の前に配置する必要があります。つまり、この関数は、プログラムを作成するときに誤って余分なスペースや復帰が入力されることがよくあります。 . この時点でエラーが報告されます。これには特別な注意を払う必要があります。 (騙されました)
(2) セッションが正常に作成されたかどうかに関係なく、session_start() 関数は TRUE を返すため、例外処理を使用しても機能しません 。
(3) 設定命令 session.auto_start を有効にして、この関数を実行する必要がないようにすることもできますが、この場合、各 php ページが実行されるときにセッションが開始または継続されます。
2. セッションを保存または読み取ります
セッション変数を保存および読み取る正しい方法は、PHP の $_SESSION 変数を使用することです。 $_SESSION は、PHP によって提供されるグローバル パラメータであり、セッションの保存と読み取りに特に使用されます。 (連想配列のキー名は通常の変数の命名規則と一致していることに注意してください)
セッションを保存するときに、セッションを直接割り当てることができます。
1 $_SESSION['シーズン'] = '秋';
上記は、キー名「season」、値「autumn」を持つセッション要素を設定します。読み取るときは、通常の配列要素を呼び出すのと同じです。
次の 2 つのコードは、セッション要素を保存および読み取る方法を示しています。
これは session1.php ファイルです:
リーリーこれは session2.php ファイルです:
リーリーsession1.php では、最初に session_start() を使用してセッションを作成し、次に配列割り当てを使用して送信された季節データを保存し、最後に header() 関数を使用して先頭に直接ジャンプします。 session2.php ファイルでは、セッションを継続し、セッション配列を使用してセッション情報を呼び出すために session_start() 関数も必要です。
3. セッションを破棄します
セッションが使用されなくなった場合は、手動でセッションを破棄する必要がありますが、PHP にはセッションを自動的に破棄する機能がありますが、これによりプログラムの効率が低下します。 unset() 関数または session_destroy() 関数を使用できます。
リーリー
または:
リーリー