Notice : Undefined ส่วนใหญ่จะเกิดขึ้นกรณีที่ไม่ได้มีการประกาศตัวแปร แล้วดันนำไปตัวแปรนั้นไปใช้หรือมีการรับค่าตัวแปรนั้นมา
เช่น
$mode = $_POST['mode'];
กรณีนี้หากเราไม่ได้ทำการเซ็ตค่าอะไรไว้ใน php.ini ตัว php เวอร์ชั่นใหม่มักจะแสดง Error
Notice: Undefined ออกมา
จริง ๆ วิธีแก้ที่ถูกต้องคือไปแก้ไขโค้ดซะ โดยการเช็คว่ามีการประกาศตัวแปรหรือไม่
จากโค้ดด้านบนจะเขียนได้เป็น
$mode = isset($_POST['mode']) ? $_POST['mode'] : '';
คือหมายความว่าถ้าไม่ได้มีการส่งหา $_POST['mode'] มาจากฟอร์ม ให้กำหนดค่าว่างให้ตัวแปร $mode ซะ เท่านี้มันก็จะไม่แสดง Error ออกมาแล้ว
แต่ถ้าเราดันไปเขียนโค้ดเอาไว้ซะเรียบร้อย จะตามแก้ทุกหน้าก็คงไม่ไหว ซึ่งจริง ๆ แล้วมีวิธีแก้อีก 2 คือ
1. ไปแก้ที่ไฟล์ php.ini โดยปิดไม่ให้มันแสดง Error ซะ ซึ่งวิธีนี้ไม่แนะนำ
2. ไปเขียนคำสั่งเพิ่มในไฟล์ .htaccess ซึ่งวิธีนี้จะมีผลเฉพาะไซต์นั้น ๆ (แนะนำ)
ซึ่งวิธีเขียนคำสั่งเพิ่มในไฟล์ .htaccess นั้นให้เปิดไฟล์ขึ้นมาแล้วเพิ่มคำสั่งนี้เข้าไป
php_value error_reporting E_WARNING
ไม่มีความคิดเห็น:
แสดงความคิดเห็น