首頁  >  文章  >  後端開發  >  php mysql怎麼實作使用者名稱驗證

php mysql怎麼實作使用者名稱驗證

PHPz
PHPz原創
2023-04-19 11:36:17760瀏覽

在網站開發過程中,使用者登入系統是非常常見的功能。其中一個重要的步驟就是驗證使用者輸入的使用者名稱和密碼是否匹配,確保使用者輸入正確的資訊才能進入系統。

本文將介紹如何使用PHP和MySQL實作使用者名稱驗證功能。

  1. 建立資料庫和使用者表

首先,我們需要在MySQL中建立一個資料庫,並在其中建立一個使用者表。在這個用戶表中,我們需要包含以下欄位:

  • id:用戶ID,自增長。
  • username:使用者名稱,唯一。
  • password:使用者密碼,加密後儲存。
  • created_at:建立時間,記錄使用者註冊時間。

我們可以使用下列SQL語句來建立這個使用者表:

CREATE DATABASE test;
USE test;
CREATE TABLE users (
 id INT( 11) NOT NULL AUTO_INCREMENT,
 username VARCHAR(255) NOT NULL UNIQUE,
 password VARCHAR(255) NOT NULL,
 created_at DATETIME NOT NULL,#;

寫PHP程式碼
  1. 接下來,我們需要寫PHP程式碼來連接MySQL資料庫,並驗證使用者名稱和密碼。以下是一段簡單的PHP程式碼範例:

// MySQL資料庫連線資訊

$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";

// 建立MySQL連線

$conn = new mysqli($servername, $username, $password, $dbname) ;

if ($conn->connect_error) {
 die("連線失敗: " . $conn->connect_error);
}

#// 取得POST參數中的使用者名稱和密碼

$username = $_POST["username"];

$password = $_POST["password"];

// 驗證使用者名稱和密碼

$sql = " SELECT * FROM users WHERE username='{$username}'";

$result = $conn->query($sql);

if ($result->num_rows > 0) {

 $row = $result->fetch_assoc();

 if (password_verify($password, $row["password"])) {

echo "登录成功";

} else {
echo "密码不正确";

}

} else {

 echo "使用者名稱不存在";
}

$conn->close();

?>


以上PHP程式碼的主要流程包括:

建立MySQL資料庫連接,用於連接和操作MySQL資料。其中包括$servername,$username,$password,和$dbname四個連線參數,用於指定MySQL連線的伺服器位址,使用者名,密碼和資料庫名稱。
  1. 取得使用者提交的POST參數,包括使用者名稱和密碼。
  2. 使用SQL SELECT語句查詢使用者表中是否有與使用者名稱相符的記錄。如果配對成功,則使用password_verify函數驗證使用者輸入的密碼是否與資料庫中儲存的密碼一致。這裡要注意的是,我們在用戶註冊時應該使用password_hash函數將用戶密碼加密後再儲存到資料庫中,以提高安全性。
  3. 如果驗證成功,則向使用者輸出"登入成功"。否則,根據不同的驗證錯誤,輸出"密碼不正確"或"使用者名稱不存在"。
  4. 建立使用者註冊頁面
  5. 為了簡化使用者註冊在資料庫中新增使用者記錄的過程,我們可以建立一個使用者註冊頁面。在該頁面中,我們會要求使用者填寫使用者名稱和密碼,並將這些資訊透過POST方法傳遞給我們先前編寫的PHP程式碼。

以下是一個簡單的使用者註冊頁面範例:

 使用者註冊頁面


 

用戶註冊


 

#

<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="注册">



在上述程式碼中,我們使用了

標籤建立表單來收集用戶在註冊過程中輸入的使用者名稱和密碼。其中,使用者名稱使用文字框,密碼使用密碼框來輸入。

總結
  1. 本文中,我們介紹如何使用PHP和MySQL實作使用者名稱驗證功能。我們首先建立了一個MySQL資料庫和一個使用者表,並為每個使用者記錄建立了一個唯一的使用者名稱和加密後的密碼。然後,我們寫了一個PHP程式碼來連接MySQL資料庫,並檢查使用者輸入的使用者名稱和密碼是否相符。最後,我們建立了一個使用者註冊頁面,使用戶可以在自訂的表單中註冊新帳戶。

以上就是本文所介紹的內容,希望它能幫助你實現你的使用者驗證功能。

以上是php mysql怎麼實作使用者名稱驗證的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn