php - 未定义索引 : Error in php script

标签 php request

在 php 页面中我有以下代码:

if($_REQUEST['c']!="") // I get error on this line itself. Why?
{
 $pidis=(int)($_REQUEST['c']);
}

我不断收到“未定义索引”错误。

通过谷歌搜索,我设法理解,如果我们尝试访问的页面没有参数(在 URL 中),我们会收到此错误/警告。我相信,如果 URL 中未定义参数,它应该返回空而不是给出错误/警告消息。

我知道可以通过添加来抑制错误和警告

error_reporting(E_ALL ^ E_NOTICE);

但我不想这样做。

同一页面在我们公司的网络服务器上工作得很好,但在我们客户的网络服务器上却不起作用。

为什么会发生这种情况?

如何解决这个问题?

最佳答案

您收到该错误是因为您尝试将 $_REQUEST['c']$_REQUEST['c'] 不存在的情况进行比较。

解决方案是使用 isset()在比较之前。这将消除警告,因为如果 $_REQUEST['c'] 不存在,则不会进行比较。

if(isset($_REQUEST['c']) && $_REQUEST['c']!="")
{
 $pidis=(int)($_REQUEST['c']);
}

这是一个 E_NOTICE 级别错误,您的级别为 error reporting会影响错误是否显示。您客户端的服务器已打开 E_NOTICE 级别错误报告,这就是它显示在那里的原因。

始终使用 E_ALL 进行开发是一个好主意,这样您就可以在将代码移动到其他服务器之前捕获此类错误。

关于php - 未定义索引 : Error in php script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160368/

相关文章:

php - MySql 从具有多个条件的表中选择

php - json 和 php If, else 语句

php - 在php中打印特殊字符

php - 在 PHP 安装上启用 Mcrypt

php - 在 eclipse PDT 中调试期间不显示值

python - Python 3 的 WSGI 请求和响应包装器

android - E/flutter (8084): [ERROR:flutter/lib/ui/ui_dart_state. cc(157)]未处理的异常:SocketException:操作系统错误:连接被拒绝

python - 如何从 Coinmarketcap 解析 BTC 历史数据?

javascript - Angular 2如何在http post后刷新表单

php - 导入 140 万行 800mb 制表符分隔文件的最佳方法是什么?