首頁  >  問答  >  主體

展示完整名字而非只顯示姓氏

我的登入表格有使用者名稱和密碼欄位。當使用者使用使用者名稱和密碼登入時,我想顯示使用者的全名而不是他們的使用者名稱。在下一頁上,我想說歡迎FULLNAME,而不是歡迎USERNAME。

這是index.php或登入頁面的html程式碼:

<form action="" method="POST">
            <div class="rows grid">
                
                <div class="row">
                    <label for="username">用户名</label>
                    <input type="text" id="username" name="userName" placeholder="输入用户名" required>
                </div>
                <!--密码-->
                <div class="row">
                    <label for="password">密码</label>
                    <input type="password" id="password" name="passWord" placeholder="输入密码" required>
                </div>
                <!--提交按钮-->
                <div class="row">
                    <input type="submit" id="submitBtn" name="submit" value="登录" required>
                <!--注册链接-->
                    <span class="registerLink">还没有账号?<a href="register.php">注册</a></span>
                </div>
            </div>
        </form>
    </div>
    </div>

這是php程式碼:

<?php
// 提交
if(isset($_POST['submit'])){ 
// 存储用户名、密码、邮箱、号码
$userName = $_POST['userName'];
$passWord = $_POST['passWord'];
// 从数据库中选择
$sql = "SELECT * FROM admin WHERE 
    usernames = '$userName' AND
    passwords = '$passWord'";
// 执行查询
$result = mysqli_query($conn, $sql);
// 计算相同用户名和密码的帐户数量
$count = mysqli_num_rows($result);
// 将结果计数到数组中
$row = mysqli_fetch_assoc($result);
// 检查数据库中是否有帐户
if ($count == 1){
    $_SESSION['loginMessage'] = '<span class = "success">欢迎 '.$userName.'</span>';
    header('location:' .SITEURL. 'dashboard.php');
    exit(); 
}
else{
    $_SESSION['noAdmin'] = '<span class = "fail">请检查您的用户名和密码,然后重试。</span>';
    header('location:' .SITEURL. 'index.php');
    exit();
    }
}
?>

這是register.php或註冊連結:

<form action="" method="POST">
                <div class="rows grid">
                    <!--全名-->
                    <div class="row">
                        <label for="fullname">全名</label>
                        <input type="text" id="fullname" name="fullName" placeholder="输入全名" required>
                    </div>
                     <!--用户名-->
                     <div class="row">
                        <label for="username">用户名</label>
                        <input type="text" id="username" name="userName" placeholder="输入用户名" required>
                    </div>
                     <!--邮箱-->
                     <div class="row">
                        <label for="email">邮箱</label>
                        <input type="email" id="email" name="emaiL" placeholder="输入邮箱" required>
                    </div>
                      <!--手机号码-->
                      <div class="row">
                        <label for="number">手机号码</label>
                        <input type="number" id="number" name="numbeR" placeholder="输入手机号码" required>
                    </div>
                    <!--密码-->
                    <div class="row">
                        <label for="password">密码</label>
                        <input type="password" id="password" name="passWord" placeholder="输入密码" required>
                    </div>
                    <!--提交按钮-->
                    <div class="row">
                        <input type="submit" id="submitBtn" name="submit" value="注册" required>
                    <!--已有账号?-->
                        <span class="registerLink">已经有账号了?<a href="index.php">登录</a></span>
                    </div>
                </div>
            </form>

注意:我想在歡迎儀表板中顯示輸入的全名。

P粉475315142P粉475315142186 天前348

全部回覆(1)我來回復

  • P粉401527045

    P粉4015270452024-04-02 17:21:47

    1. 請將您的選擇查詢變更為參數化準備語句,以避免SQL注入攻擊
    2. #要顯示“fullname”,只需將資料庫記錄取得為關聯數組,例如$row,然後使用$row["fullname"](如果欄位名稱實際上是fullname,則使用$row["fullName"]

    因此,將以下程式碼區塊變更為:

    /// 其他代码
    $sql = "SELECT * FROM admin WHERE 
        usernames = '$userName' AND
        passwords = '$passWord'";
    // 执行查询
    $result = mysqli_query($conn, $sql);
    // 计算相同用户名和密码的帐户数
    $count = mysqli_num_rows($result);
    // 将结果计算到数组中
    $row = mysqli_fetch_assoc($result);
    // 检查数据库中是否有帐户
    if ($count == 1){
        $_SESSION['loginMessage'] = '<span class = "success">欢迎 '.$userName.'</span>';
        header('location:' .SITEURL. 'dashboard.php');
        exit(); 
    }
    /// 其他代码

    更改為:

    <?php
    /// 其他代码
    $sql = "SELECT * FROM admin WHERE usernames = ? AND passwords = ?";
    
    $query = $conn->prepare($sql);
    $query->bind_param("ss", $userName,$passWord );
    $query->execute();
    $result = $query->get_result();
    $num = $result->num_rows;
    
    if ($num == 1){
        $row = $result->fetch_assoc();
        $_SESSION['loginMessage'] = '<span class = "success">欢迎 '.$row["fullname"].'</span>';
        header('location:' .SITEURL. 'dashboard.php');
        exit(); 
    }
    /// 其他代码
    ?>

    回覆
    0
  • 取消回覆