过滤器和分页PHP的多行未定义的索引错误

时间:2014-03-07 03:47:42

标签: php error-handling syntax-error isset

$cate = $_REQUEST['cate'];
$fromdate = $_REQUEST['from'];
$to = $_REQUEST['to'];
$ascend = $_REQUEST['ascend'];

注意:未定义的索引:cate in 注意:未定义的索引:来自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  未定义的变量:fromdate 未定义的变量:上升

3 个答案:

答案 0 :(得分:0)

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

似乎有时候你设置了这些参数,有时它没有设置(你没有通过那些参数)。你需要检查它是否为每个$_GET和{{1}设置了变量

e.g

$_POST

答案 1 :(得分:0)

只需打印整个print_r($ _ GET)和print_r($ _ REQUEST)数组,然后查看索引类型,from,to和ascend可用。

答案 2 :(得分:0)

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