如何在PHP中显示用户名而不是登录ID?

问题描述 投票:-4回答:1

我使用员工ID(用户名)登录系统,但是我想在成功登录后查看我的姓名(姓名)而不是我的员工ID。我试图将PHP脚本参数从“用户名”更改为“名称”,不幸的是失败和错误。

在这里,我分享脚本。

用于登录页面的PHP脚本

// Validate credentials
        if(empty($username_err) && empty($password_err)){
            // Prepare a select statement
            $sql = "SELECT id, username, password FROM users WHERE username = ?";

 // Check if username exists, if yes then verify password
                    if(mysqli_stmt_num_rows($stmt) == 1){                    
                        // Bind result variables
                        mysqli_stmt_bind_result($stmt, $id, $username, $hashed_password);
                        if(mysqli_stmt_fetch($stmt)){
                            if(password_verify($password, $hashed_password)){
                                // Password is correct, so start a new session
                                session_start();

                                // Store data in session variables
                                $_SESSION["loggedin"] = true;
                                $_SESSION["id"] = $id;
                                $_SESSION["username"] = $username;

登录页面的HTML代码

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
    <div class="input-group custom input-group-lg" <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
    <input type="text" name="username" class="form-control" placeholder="Staff ID" value="<?php echo $username; ?>">
    <span style="color:#FF0500" class="help-block"><?php echo $username_err; ?></span>

主页

<span class="user-name">Welcome, <b><?php echo htmlspecialchars($_SESSION["username"]); ?></b></span>
php mysqli
1个回答
0
投票

这个答案解决了我上面的问题:

// Prepare a select statement
$sql = "SELECT id, name, username, password FROM users WHERE username = ?";

// Bind result variables
mysqli_stmt_bind_result($stmt, $id, $name, $username, $hashed_password);

// Store data in session variables
$_SESSION["loggedin"] = true;
$_SESSION["id"] = $id;
$_SESSION["name"] = $name;
© www.soinside.com 2019 - 2024. All rights reserved.