当我有一个像@ www.mysite.com/animals.php?pet=dogs
这样的变量的url时,我会检查:
if (!isset($_GET['pet']) || empty($_GET['pet']) || ($pet_true === false)){
header('Location: error.php');
exit();
} echo 'list of dogs';
当宠物未设置或空或假时我得到重定向,所以它有效。
但我想添加第二个变量:www.mysite.com/animals.php?pet=dogs&breed=collie
并执行检查:
?pet=dogs&madeup
:重定向到错误页面。我以为我可以做以下检查:
if (!isset($_GET['breed']) || empty($_GET['breed']) || ($breed_true === false)){
header('Location: error.php');
exit();
} else {
echo 'Collie info';
}
但是当网址正确www.mysite.com/animals.php?pet=dogs
时,无论如何都会重定向,因为未设置品种。
我能想到的唯一解决办法就是不回应:
if (!isset($_GET['breed']) || empty($_GET['breed']) || ($breed_true === false)){
echo '';
} else {
echo 'Collie info';
}
但是现在?pet=dogs&
用户可以输入他想要的任何内容而且我不知道它是否安全,我认为重定向到错误页面会更好,但是可以吗?