我需要获取方法但无法正常工作
我的代码:
<?php
$page = $_GET['page'] ? intval($_GET['page']) : 1;
echo "current page : ".$page."<br/>";
?>
和
$ page的结果为1,但是我尝试了www.example.com/test.php?page=3
$ page的结果仍输出1。
为什么会这样?
答案 0 :(得分:4)
首先,您应该检查是否设置了page
,然后才能访问page
尝试一下:
if(isset($_GET['page'])){
$page = $_GET['page'] ? intval($_GET['page']) : 1;
echo "current page : ".$page."<br/>";
}
这是我得到的结果:
答案 1 :(得分:1)
您可以只修改语句,
$page = $_GET['page'] ? intval($_GET['page']) : 1;
到
$page = !empty($_GET['page']) ? intval($_GET['page']) : 1;
希望这会有所帮助。
答案 2 :(得分:1)
$page = $_GET['page'] ? intval($_GET['page']) : 1;
是
的缩写if($_GET['page'] !== null){ $page = intval($_GET['page']); }else{ $page = 1; }
因此至少有两个错误源。可能未设置“ $ _GET ['page']”,结果为1。如果是这种情况,还会导致未知变量的错误原因。
它可能是强制转换为1的字符串-在这种情况下,不会引发任何错误。
根据您的需求,检查建议的mrustamzade之类的现有变量更有意义。
我还要检查一个这样的数字
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = intval($_GET['page']);
}else{ $page = 1; }
echo "current page : ".$page."<br/>";