在接收表单POST过来的数据时会遇到报Undefined
index错误,例如如下代码:
if($_POST['submit']){
.......
}
>
.......
value="..."/>
用以上代码总是提示
Notice: Undefined index: act in ... on line XXX
另外,有时还会出现
Notice: Undefined variable: submit ...... 等一些这样的提示
出现上面这些是PHP的提示(Notice)而非报错,PHP本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。一般作为正式的网站会把提示关掉,甚至连错误信息也被关掉。
经研究,有如下几种解决方法:
1.在变量前面加上一个"@"以避免错误提示,如 if(@$_POST['submit']){...}
2.利用isset函数验证变量的存在。将代码改为如下:
if(isset($_POST['submit'])){
if($_POST['submit']){...}}
3.修改php.ini 中的 error
配置下错误显示方式:将 error_reporting = E_ALL 修改为 error_reporting = E_ALL
& ~E_NOTICE,修改后重启下APCHE服务器,即可生效。