每个用户的会话都是唯一的还是我必须自己设置?如果是这样怎么办?

Asp*_*ger 1 php

所以我得到了一个 ini.php 文件,它包含在每个文件的顶部。它包括我的数据库连接 + session_start().

当用户登录成功时,我设置了一个等于$_SESSION['login'] = true.

现在我可以做这样的事情:

if (!isset($_SESSION['login'])) {
    include 'php/includes/login_form.php';
}

else {
    include 'php/includes/welcome.php';
}
Run Code Online (Sandbox Code Playgroud)

如果我希望此特定登录特定于用户怎么办?我是否必须以某种方式将会话与登录时的用户名联系起来?

dec*_*eze 5

一个会话对于一个访问者来说总是唯一的。session_start生成一个随机会话 ID,将其放入 cookie,只有您当前的访问者才会收到该 cookie。在下一个请求中,具有唯一会话 id 的 cookie 被拾取session_start并恢复会话。

然而,这本身不会告诉你其中用户帐户特别是会话属于。您必须自己记录该信息。例如:

if (/* login successful */) {
    session_start();
    $_SESSION['user_id'] = $loggedInUserId;
}
Run Code Online (Sandbox Code Playgroud)