Php 显示名字的登录脚本
我使用的登录脚本工作正常,但我很难理解如何将用户数据库中的first_name字段设置为会话并显示,据我所知,它使用以下功能进行登录:Php 显示名字的登录脚本,php,mysqli,Php,Mysqli,我使用的登录脚本工作正常,但我很难理解如何将用户数据库中的first_name字段设置为会话并显示,据我所知,它使用以下功能进行登录: function login_check($mysqli) { // Check if all session variables are set if (isset($_SESSION['user_id'], $_SESSION['username'], $_SESSION['login_string'])) { $user_
function login_check($mysqli) {
// Check if all session variables are set
if (isset($_SESSION['user_id'], $_SESSION['username'], $_SESSION['login_string'])) {
$user_id = $_SESSION['user_id'];
$login_string = $_SESSION['login_string'];
$username = $_SESSION['username'];
// Get the user-agent string of the user.
$user_browser = $_SERVER['HTTP_USER_AGENT'];
if ($stmt = $mysqli->prepare("SELECT password FROM members WHERE id = ? LIMIT 1")) {
// Bind "$user_id" to parameter.
$stmt->bind_param('i', $user_id);
$stmt->execute(); // Execute the prepared query.
$stmt->store_result();
if ($stmt->num_rows == 1) {
// If the user exists get variables from result.
$stmt->bind_result($password);
$stmt->fetch();
$login_check = hash('sha512', $password . $user_browser);
if ($login_check == $login_string) {
return true;
} else {
// Not logged in
return false;
}
} else {
// Not logged in
return false;
}
} else {
// Could not prepare statement
header("Location: ../error.php?err=Database error: cannot prepare statement");
exit();
}
} else {
// Not logged in
return false;
}
}
我最初的尝试是在
$\u会话['login\u string']中添加会话变量){
但它不是并返回一个空值。我可以返回用户名和用户\u id,但仅此而已?如果登录\u检查
返回true,您需要查询数据库并获取id=$\u SESSION['user\u id'用户的所有信息
。从那里您将获得名称,您必须将其设置为session,如$\u session['first\u name']=$您从\u db获得的\u first\u name;
之后,您只需执行echo$\u session['first\u name'];
显示名字。此脚本是否与上面的脚本不同?您在问题中给出的脚本不是用于登录用户的脚本。它是用于检查用户是否已登录的脚本。