Notice: Undefined index PHP แก้ยังไง ?

ห่างหายไปนานกับการอัพเดทบทความในเว็บไซต์ วันนี้มีโอกาส ก็เอาสักหน่อยครับ พอดี Admin ไปเจอบทความน่าสนใจเกี่ยวกับ PHP ก็เลยนำมาฝากกันครับ

สำหรับนักพัฒนา PHP แน่นอนว่าหลายท่านคงจะเจอกับ ข้อความแจ้งเตือน Notice: Undefined index กันมาบ้างแล้ว ซึ่งเราจะเห็นก็ต่อเมื่อ Server ของเราได้เปิดการรายงานข้อผิดพลาดไว้ ซึ่งข้อความแจ้งเตือนเหล่านี้ เราไม่ควรจะมองข้ามนะครับ แก้ไขให้หมดได้ยิ่งดีครับ หากต้องการทราบถึงปัญหา และ วิธีการแก้ไข ลองอ่านบทความ ด้านล่างนี้ดูนะครับ

Notice: Undefined index PHP คือ Message หรือข้อความแจ้งเตือน (Warning) ในส่วนของความปลอดภัยในระดับของ NOTICE (ข้อสังเกต) ของภาษา PHP ซึ่งจริง ๆ แล้วปัญหานี้จะเกิดขึ้นในกรณีที่ Web Server นั้น ๆ มีการเปิด E_NOTICE หรือเปิดการแจ้งเตือนข้อสังเกตในการประมวลผลของ Web Server เอาไว้ (PHP Version ใหม่ ๆ จะมีการเปิดตรงจุดนี้เอาไว้เป็นค่า Default)

Notice: Undefined index PHP คือ

1. เป็นการแจ้งเตือนเกี่ยวกับความปลอดภัย (ข้อสังเกต) ของภาษา PHP เกี่ยวกับการไม่สามารถระบุค่า หรือ index ที่ต้องการได้
2. ความหมายของ index ตามข้อความแจ้งเตือนนั้นอันจะหมายถึง ค่าตัวแปร (Variable value) ทุกชนิดทั้งที่เป็นแบบ ค่าตัวแปรแบบส่งผ่าน Form หรือการประกาศตัวแปรขึ้นมา แล้วไม่มีการกำหนดค่าเริ่มต้น

วิธีแก้ไข Notice: Undefined index PHP
1. การใช้คำสั่ง isset() ในการตรวจสอบว่าตัวแปรดังกล่าวมีค่าข้อมูลอยู่รึเปล่า (Admin แนะนำครับ ควรจะฝึกเขียนไว้ให้เป็นนิสัย)
2. การใช้ custom error handler ในการส่ง error ดังกล่าวออกไปยัง logfile หรือ target ต่าง ๆ ที่ต้องการ
3. การปิด E_NOTICE หรือการปิดการแจ้งเตือนของภาษา PHP (ถ้าไม่มีเวลาแก้ ปิดไว้ก่อนก็ได้ครับ ^_^)

ขอขอบคุณ บทความต้นฉบับ และ ดูตัวอย่างโค้ด ได้ที่ เว็บไซต์ http://www.amplysoft.com/knowledge/what-is-notice-undefined-index-php.html