Notice: Use of undefined constant fl_name - assumed 'fl_name' in F:xampphtdocs_athdownload-manage.php on line 28
Notice: Use of undefined constant fl_desc - assumed 'fl_desc' in F:xampphtdocs_athdownload-manage.php on line 29
Notice: Use of undefined constant fl_type - assumed 'fl_type' in F:xampphtdocs_athdownload-manage.php on line 32
Error ด้านบนนี้เป็นจะขึ้นก็ต่อเมื่อเราเปิด error_reporting เป็นแบบ error_reporting(E_ALL ^ E_NOTICE);
โดนมันจะแจ้งเตือนเราว่า ค่าตัวแปรที่คุณกำหนด มันยังไม่ถูกต้องนะ หรือมันอาจจะผิดรูปแบบ คุณควรจะใส่แบบนี้ (แบบมี ‘…’ คั่น)
เท่าที่ผมเข้าใจนะ การใส่กับไม่ใส่ ข้อแตกต่างมันอยู่ตรงที่ ชื่อของตัวแปรที่เราตั้ง การที่เราไม่ใส่ “” ฟันหนู มันจะทำให้ระบบต้องค้นหา index อื่นที่ไม่ใช่ตัวแปร เช่นตัวแปรที่เป็น static หรือ constant ค่าคงที่ต่างๆ อาทิเช่น __FILE__, __DIR___, PHP_SELF, PHP_EOL
เป็นต้น
ทีนี้หากเราไม่ได้เขียนแบบถูกต้องมาแต่ต้อง การเป็นงานช้างเลยละที่จะกลับมาแก้ไข เพราะเราต้องตามมาใส่ ‘ ‘ ทุกๆ ตัวแปรที่เรากำหนดด้วย $_POST, $_REQUEST, $_SERVER, $_SESSION
เป็นต้น หรือกระทั่ง array ที่ใช้แบบนี้ $array[…] ก็จะเป็นต้นใส่ครับ เพราะมันจะได้เป็นป็น string แทนที่จะเป็น static value
วิธีที่ผมใช้บ่อยๆ ก็คือใช้ Regular Explessions ในการตรวจสอบและปรับปรุงตัวแปรเหล่านั้น ในที่นี้ผมจะให้ตัวอย่างของ NetBean ไปใช้นะครับ ส่วนโปรแกรมอื่น อาทิ dreamweaver, editplus, notepad++ ก็น่าจะใช้ได้เหมือนกัน (ใน dreamweaver สามารถ save เก็บไว้ได้ด้วยนะครับ)
ตัวอย่าง
Find:
$_([A-Z]+)[([a-zA-Z_]+)]
Replace:
$_$1['$2']