การยืนยันตัวตนแบบง่ายผ่านฐานข้อมูลด้วย PHP
มาลองสร้างระบบยืนยันตัวตนที่ง่ายที่สุด บนฐานข้อมูลกัน โดยในขั้นตอนนี้ยังไม่มีการสมัครสมาชิก แทนที่การ สมัครสมาชิกผู้ใช้ เราจะแค่กรอก ข้อมูลล็อกอินและรหัสผ่านของพวกเขาเข้าไปในตารางในฐานข้อมูล:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
ตอนนี้เราจะสร้างฟอร์มสำหรับกรอก ล็อกอินและรหัสผ่าน:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
ตอนนี้เราจะเขียนโค้ดที่จะตรวจสอบว่า ฟอร์มถูกส่งมาหรือไม่ และหากส่งมาแล้วก็ ตรวจสอบว่ามีผู้ใช้ในฐานข้อมูล ที่มีล็อกอินและรหัสผ่านดังกล่าวหรือไม่:
<?php
if (!empty($_POST['password']) and !empty($_POST['login'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login' AND password='$password'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
if (!empty($user)) {
// ผู้ใช้ได้รับการยืนยันตัวตนแล้ว
} else {
// ล็อกอินหรือรหัสผ่านไม่ถูกต้อง
}
}
?>
จงปรับใช้การยืนยันตัวตนดังที่อธิบายไว้ข้างต้น จงทำให้ หากผู้ใช้ผ่านการยืนยันตัวตนแล้ว - ให้แสดงข้อความเกี่ยวกับเรื่องนี้ และหากไม่ ผ่าน - ให้แสดงข้อความว่าใส่ล็อกอิน หรือรหัสผ่านไม่ถูกต้อง
ปรับเปลี่ยนโค้ดเพื่อว่าในกรณีที่การยืนยันตัวตน สำเร็จ ฟอร์มสำหรับกรอกรหัสผ่านและล็อกอิน จะไม่แสดงบนหน้าจอ
ปรับเปลี่ยนโค้ดเพื่อว่าในกรณีที่การยืนยันตัวตน
สำเร็จ จะเกิดการเปลี่ยนเส้นทาง (redirect) ไปยังหน้า
index.php
ปรับเปลี่ยนโค้ดเพื่อว่าในหน้า
index.php จะแสดงข้อความเกี่ยวกับ
การยืนยันตัวตนสำเร็จ แก้ไขปัญหานี้โดยใช้
ข้อความแฟลช (flash messages) บนเซสชัน