PHP undefined index的问题
2006-7-26 11:20已经遇到过很多次undefined index错误了,烦人的很,今天又碰到它了,真是有缘千里来相会~~我晕死.
奋战之下终于找到了解决办法,undefined index是因为使用了一个未经初始化的变量,而系统默认要发出错误提示呢?这是为了安全这样着想,我们可以根据这个发现一些安全隐患.但是有时候,我们却不需要这种提示,实在是太烦人了.
解决的办法:
1,修改php.ini,将error_reporting 的值改为: error_reporting = E_ALL & ~E_NOTICE
2,在程序的最开始处加上 error_reporting(E_ALL ^ E_NOTICE);
另外如果什么都不想显示可以加这个: error_reporting(0);
这里的0是一个错误级别 level ,参数 level 是一个整数的位遮罩 (bitmask),见下表。
遮罩值 表示名称
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫 stat() 函数检视不存在的文件。
E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫 ereg()。
E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。
E_PARSE 从语法中解析错误。
E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。
E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。
3, 当然是规范自己写程序的习惯了,每个变量都进行出始化,但是我遇到一问题:GET过来的变量怎么初始化?暂时还没解决.