หน้าเว็บ

วันอาทิตย์ที่ 8 มิถุนายน พ.ศ. 2557

แก้ปัญหา Notice : Undefined ใน php

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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น