Url变量和重定向

时间:2013-05-17 20:49:46

标签: php url variables redirect

当我有一个像@ 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&用户可以输入他想要的任何内容而且我不知道它是否安全,我认为重定向到错误页面会更好,但是可以吗?

0 个答案:

没有答案