PHP は、ユーザーがログインしているかどうかを判断するためにセッション値を使用します。次のような例をよく見かけます:
フォームがあり、ユーザー名とパスワードを入力し、検証が成功した場合は PHP ページで検証します (つまり、データベースから検索して、ユーザー名とパスワードが一致するかどうかを確認します)、次のセッションインが生成されます
$_SESSION['username'] = 'csdn';
$_SESSION['pwd'] = ' pwd';
次に、他のページ $_SESSION[' username'] が空かどうかを判断します。そうでない場合は、ログインしていることを意味します。 。 。
そこで質問です: $_SESSION はサーバー上に存在しませんか?複数のユーザーがログインすると、$_SESSION['username'] が何度もリセットされませんか? サーバーはどのようにしてクライアントを正しく区別できるのでしょうか? ? ?
とても簡単なことだと思っていましたが、わかりませんでした。 。 。何かを誤解しているようです。指摘してください。
ありがとうございます
$_SESSION は session_start 関数
によって生成され、$_SESSION の内容は受信した Cookie に基づいて session_start によって割り当てられます
。あなた
つまり、ユーザー A の $_SESSION とユーザー B の $_SESSION は両方とも $_SESSION ですが、内容は異なります
セッションには、異なるユーザーを識別するためにクライアントから渡される session_id が含まれます。したがって、この session_id は一意です。混乱を心配する必要はありません。
各通話は一意です...これは前述の session_id なので、ブラウザとサーバーが通話を確立するたびに、この ID は一意であり、サーバーは通話相手を特定します
。 seesion_id()に基づくデータと、$_SESSIONの値が異なります。
セッションには、さまざまなユーザーを識別するためにクライアントから渡される session_id があり、この session_id は一意であるため、作成者は混乱を心配する必要はありません。