หากสมาชิกต้องการแก้ไขข้อมูลเช่น ชื่อ-สกุล , เบอร์โทร เป็นต้น สามารถกรอกข้อมูลใหม่หรือเพิ่มเติมได้ จากนั้นกดที่ปุ่ม แก้ไข ดังรูป
จะได้ผลลัพธ์ ดังรูป
หรือหากมีกรอกรหัสผ่านใหม่แต่กรอกทั้งสองช่องไม่ตรงกัน จะแสดงผลลัพธ์ดังรูป
เรามาเริ่มลงมือเขียนคำสั่งกันเลยคับ
1.ให้ท่านกลับที่File mbedit.php แล้วแก้ไขตรง tag form ตรงส่วนของ action ให้เป็นดังรูป
2. จากนั้นให้สร้างไฟล์ใหม่ขึ้นมา ตั้งชื่อ mbedit_save.php ลบคำสั่งhtmlออกให้หมดแล้วพิมพ์ Code PHP เหล่านี้ลงไปคับ
บรรทัดที่ 2 กำหนดการทำงานของsessionของหน้านี้ โดยเราจะส่งตัวแปร $_SESSION[“ss_login”]เป็นเงือนไขในการแก้ไขข้อมูลของสมาชิก
บรรทัดที่3 ดึงไฟล์คำสั่ง Connect Database ที่สร้างไว้ในไฟล์ config.php มาใช้งาน
บรรทัดที่4 ตรวจสอบการส่งร้อง(Request)ขอจากไคลเอนท์(Client) โดยเช็คParameter Request ที่ส่งมาว่าเป็นแบบPOSTหรือไม่
บรรทัดที่5-9 รับค่าParameter Request จากไฟล์ mbedit.php มาเก็บไว้ในตัวแปร เพื่อง่ายต่อการอ้างอิงถึงต่อการนำไปใช้งาน
บรรทัดที่10 ประกาศตัวแปร SET ให้เป็นค่าว่างไว้ก่อน เพราะจะใช้เก็บคำสั่ง SET ของ คำสั่ง UPDATE (MySQL)
บรรทัดที่11ตรวจสอบรหัสผ่านใหม่ ว่ามีการกรอกหรือไม่ และบรรทัดที่12ตรวจเช็คอีกว่ารหัสผ่านทั้งสองช่องตรงกันหรือไม่
บรรทัดที่13 นำตัวแปรSETรับคำสั่งMySQL หากรหัสผ่านทั้งสองช่องตรงกัน หากรหัสผ่านทั้งสองช่องไม่ตรงกัน (บรรทัดที่14) ให้แสดงข้อความ(บรรทัดที่15) แล้วสั่งให้หยุดการทำงานของสคริปต์ทันที(บรรทัดที่16) เพื่อไม่ให้มันทำงานในคำสั่งถัดลงมาอีก
บรรทัดที่22 หากมีการตรวจสอบว่าผ่านจากเงื่อนไขทั้งหมดที่กล่าวข้างต้น ข้อมูลจะถูกส่งไปในฐานข้อมูล เพื่อแก้ไขข้อมูลเดิม ด้วย Method Execute
ทำไมคำว่าแก้ไขข้อมูลเรียบร้อยแล้วไม่ขึ้น
ตอบลบแก้ไขข้อมูลแล้วแต่ในฐานข้อมูลยังไม่เปลี่ยนเลย
สงสัยคำสั่งผิดครับ ลองเช็คคำสั่ง sql ดูให้ดีครับ ส่วนมากจะกำหนดชื่อฟิลด์ผิดครับ
ลบ