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