สวัสดีครับนักเรียน มาถึงด่านสุดท้ายของ CRUD แล้ว! ฟังก์ชัน “ลบข้อมูล” เป็นดาบสองคม ทำถูก = ระบบเป็นระเบียบ ทำพลาด = ข้อมูลหายยกตาราง
เพราะงั้นบทนี้ครูจะเน้น 2 เรื่อง
DELETEที่หน้า display_users.php เราเพิ่มลิงก์แบบมีตัวกันพลาด
echo "<td>
<a href='delete_user.php?id=".$row['id']."'
onclick=\"return confirm('คุณแน่ใจใช่ไหมที่จะลบข้อมูลนี้?');\"
style='color:red;'>ลบ</a>
</td>";
> ถ้ากด Cancel → ลิงก์จะไม่ทำงาน > ถ้ากด OK → ไปหน้า delete_user.php
<?php
require_once 'db_config.php';
if (isset($_GET['id'])) {
$id = mysqli_real_escape_string($conn, $_GET['id']);
$sql = "DELETE FROM users WHERE id = $id";
if (mysqli_query($conn, $sql)) {
echo "<script>
alert('ลบข้อมูลเรียบร้อยแล้ว');
window.location='display_users.php';
</script>";
} else {
echo "ไม่สามารถลบข้อมูลได้: "
. mysqli_error($conn);
}
} else {
header("Location: display_users.php");
}
mysqli_close($conn);
?>
อันตรายระดับ 10 เต็ม 10
ถ้าเขียนแบบนี้DELETE FROM users
โดยไม่มี WHERE = สมาชิกหายทั้งตารางทันที!
ครูเคยเห็นนักเรียนพลาดมาแล้ว กดรันทีเดียวข้อมูลหายเกลี้ยง
ตอนนี้ทุกคนได้เรียนครบหัวใจของเว็บแอปแล้ว
นี่คือพื้นฐานที่ใช้กับ
| หน้าที่ | คำสั่ง |
|---|---|
| เพิ่ม | INSERT INTO table ... |
| อ่าน | SELECT * FROM table |
| แก้ไข | UPDATE table SET ... WHERE id= |
| ลบ | DELETE FROM table WHERE id= |
การทำเว็บต้องปลอดภัยกว่านี้
password_hash()password_verify()// ตัวอย่าง Hash รหัสผ่าน
$hash = password_hash($pass, PASSWORD_DEFAULT);
if (password_verify($input, $hash)) {
echo "เข้าสู่ระบบสำเร็จ";
}
ถ้านักเรียนทำตามได้ครบ 6 ตอน ครูบอกเลยว่า
> พร้อมทำโปรเจกต์จบ > พร้อมต่อยอดระบบ Login > พร้อมเรียน Framework ต่อ
การเขียนโปรแกรมไม่ใช่เรื่องของคนเก่ง แต่เป็นเรื่องของ “คนที่ฝึกทุกวัน”
ขอบคุณที่เรียนมาด้วยกันครับ แล้วเจอกันใน ตอนที่ 7: Workshop ระบบ Login พร้อมระบบตรวจสอบสิทธิ์ (Session Authentication)