【问题标题】:Undefined index errors on multiple line for filter and pagination PHP用于过滤器和分页 PHP 的多行未定义索引错误
【发布时间】:2014-04-10 01:36:03
【问题描述】:
$cate = $_REQUEST['cate'];
$fromdate = $_REQUEST['from'];
$to = $_REQUEST['to'];
$ascend = $_REQUEST['ascend'];

注意:未定义的索引:cate in 注意:未定义的索引:从in 注意:未定义索引:to in 注意:未定义的索引:上升

$limit = 10;            
$page = $_GET['page'];
if($page) 
$start = ($page - 1) * $limit;      
else
$start = 0;

注意:未定义的索引:在 $page = $_GET['page'];

收到这些通知,但有时会消失。有什么问题吗?。 *顶部部分已解决*

现在得到以下行的未定义变量

if ($cate!='')

if ($fromdate !='' && $to!=''){

if ($ascend!=''){

未定义变量:cate 未定义变量:从日期 未定义变量:上升

【问题讨论】:

  • 你需要检查索引是否存在isset($_GET['page']),总是。

标签: php error-handling syntax-error isset


【解决方案1】:

试试isset($_REQUEST['your_var_name'])

似乎有时您设置了这些参数,有时未设置(您没有传递这些参数)。您需要检查每个 $_GET$_POST 变量是否设置了它

p>

例如

if(isset($_REQUEST['cate'])) {
  $cate = $_REQUEST['cate'];
}

【讨论】:

    【解决方案2】:

    只需打印整个 print_r($_GET) 和 print_r($_REQUEST) 数组,然后查看索引 cate、from、to 和ascend 是否可用。

    【讨论】:

      【解决方案3】:

      $_REQUEST$_POST$_GET 的组合。 例如,$_REQUEST['cate'] 仅在您有 url 时设置,例如index.php?cate=X 或者您已发送包含名称为 cate 的输入的 POST 表单。因此,当您在 URL 或表单中没有它时,这个变量是未定义的,这就是您得到通知的原因。这只是一个通知,因此您可以使用error_reporting(E_ALL ^ E_NOTICE) 隐藏它,或者检查该变量是否已由isset() 启动。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-08
        • 1970-01-01
        • 2011-02-21
        • 2016-08-17
        • 2012-05-23
        • 1970-01-01
        • 1970-01-01
        • 2012-06-27
        相关资源
        最近更新 更多