My login form has username and password fields. When a user logs in with their username and password, I want to display the user's full name instead of their username. On the next page, I want to say welcome FULLNAME, not welcome USERNAME.
This is the html code of index.php or login page:
<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>
This is the php code:
<?php // 提交 if(isset($_POST['submit'])){ // 存儲用戶名、密碼、郵箱、號碼 $userName = $_POST['userName']; $passWord = $_POST['passWord']; // 從數(shù)據(jù)庫中選擇 $sql = "SELECT * FROM admin WHERE usernames = '$userName' AND passwords = '$passWord'"; // 執(zhí)行查詢 $result = mysqli_query($conn, $sql); // 計(jì)算相同用戶名和密碼的帳戶數(shù)量 $count = mysqli_num_rows($result); // 將結(jié)果計(jì)數(shù)到數(shù)組中 $row = mysqli_fetch_assoc($result); // 檢查數(shù)據(jù)庫中是否有帳戶 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(); } } ?>
This is register.php or registration link:
<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> <!--手機(jī)號碼--> <div class="row"> <label for="number">手機(jī)號碼</label> <input type="number" id="number" name="numbeR" placeholder="輸入手機(jī)號碼" 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">已經(jīng)有賬號了?<a href="index.php">登錄</a></span> </div> </div> </form>
Note: I want to display the entered full name in the welcome dashboard.
$row
, and then use $row["fullname"]
(if the field name is actually If it is fullname
, use $row["fullName"]
)So change the following code block to:
/// 其他代碼 $sql = "SELECT * FROM admin WHERE usernames = '$userName' AND passwords = '$passWord'"; // 執(zhí)行查詢 $result = mysqli_query($conn, $sql); // 計(jì)算相同用戶名和密碼的帳戶數(shù) $count = mysqli_num_rows($result); // 將結(jié)果計(jì)算到數(shù)組中 $row = mysqli_fetch_assoc($result); // 檢查數(shù)據(jù)庫中是否有帳戶 if ($count == 1){ $_SESSION['loginMessage'] = '<span class = "success">歡迎 '.$userName.'</span>'; header('location:' .SITEURL. 'dashboard.php'); exit(); } /// 其他代碼
change to:
<?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(); } /// 其他代碼 ?>