繁体   English   中英

WAMP和PHP中未定义的索引错误报告

[英]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_existsif(!empty($arrayName['key']))来为用户发送的所有东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM