Php登录.如果两台计算机连接到同一个登录页面会怎样.$_SESSION变量是否会被重写


Php login. What if 2 computers connext to the same login page. Will $_SESSION VARIABLE BE OVERWRITTEN?

我是php的初学者。我创建了一个登录页面。它运行得很好,但我怀疑如果两个用户一起登录,会话变量将更改为第二个用户的详细信息。当我在一台电脑的两个选项卡上尝试这个时,它发生了。不幸的是,我家里只有一台电脑,所以有人能告诉我,如果我在多台电脑上运行它,就会发生这种情况吗。

 // SOME DETAILS HIDDEN
$sql = mysqli_query($con, "Select * From user Where UserId = '$uid' And Password = '$pass'");            
while ($x = mysqli_fetch_array($sql)){
    if ($x['UserId'] == $uid){
         $_SESSION['Fname'] = $x['Fname'];
         $_SESSION['Lname'] = $x['Lname'];
         $_SESSION['userid'] = $x['UserId'];
         // SOME MORE HIDDEN            
     } else {$err = "Invalid Entry";} 
}

当会话启动时,会发生以下情况:

  1. 将创建一个唯一的标识符。它是一个由32个十六进制数字组成的随机字符串。

  2. 一个名为PHPSSID的cookie被创建并保存在用户的计算机上。唯一会话ID是该cookie的值。

  3. 将在服务器上的临时目录中自动创建一个文件。文件名的前缀是sess_,然后是创建的唯一会话id。

这个过程对于每个浏览器到php脚本的连接都是唯一的。因此,两个用户将具有不同的会话ID,您的代码将按预期执行。