[英]Undefined Index Error Reporting in WAMP and PHP
我正在使用wamp来开发一个php应用程序。 我的问题是,每当我调用一个有时碰巧没有值的变量时,我会得到一个错误,表明它是一个未定义的索引。 有没有办法将错误报告更改为不显示此错误? 在输出变量之前,我必须使用isset来确定它是否已设置,但我不想这样做。 我的应用程序中有一些区域使这种方法效率低下。
如果您不想更改error_reporting级别,则应在使用之前检查,是否存在变量。 你可以用
if(isset($var))
为了它。 你可以添加一些功能,不要总是写它。 例:
function getPost($name,$default=null){
return isset($_POST[$name])?$_POST[$name]:$default;
}
用法:
getPost('id');
getPost('name','Not Logged In');
你可以在php.ini中关闭机制。
这个帖子可以帮到你。
http://www.wampserver.com/phorum/read.php?2,70609,70700
但通常最好处理未定义的变量,因为它们可能会为您节省一些运行时间的麻烦。
更新:
在php.ini中更改
error_reporting = E_ALL到error_reporting = E_ALL&~E_NOTICE
试试这个:
if(!isset($ var))$ var =“”;
PHP.ini文件驻留在两者中:
斌\\ PHP \\ php5.x
和
BIN \\ apache的\\ apache2.x \\ BIN
一定要在apache文件夹版本中进行更改 。
还设置:
display_errors =关闭
display_startup_errors =关闭
error_reporting = E_ALL
log_errors =开
使错误不会显示在客户端上,但仍允许它们记录在错误日志中。
有多种方法可以解决这个问题:
error_reporting(0)
在脚本的顶部使用它
在php.ini中设置display_errors = Off
在生成错误的语句之前使用“@”
但除非你正在写一些微不足道的东西,否则你必须使用array_key_exists
或if(!empty($arrayName['key']))
来为用户发送的所有东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.