0

次のような1つの変数を持つURLがある場合:www.mysite.com/animals.php?pet=dogsチェックを行います:

if (!isset($_GET['pet']) || empty($_GET['pet']) || ($pet_true === false)){
header('Location: error.php');
exit();
} echo 'list of dogs';

ペットが設定されていないか、空またはfalseの場合にリダイレクトされるため、機能します。

しかし、私は2番目の変数を追加したいと思います:www.mysite.com/animals.php?pet=dogs&breed=collieそしてチェックを行います:

  • 品種が設定されていないか、空または false の場合: エラー ページにリダイレクトします。
  • URL が次の場合: ?pet=dogs&madeup: エラー ページにリダイレクトします。

次のようなチェックができると思いました:

if (!isset($_GET['breed']) || empty($_GET['breed']) || ($breed_true === false)){
header('Location: error.php');
exit();
} else {
       echo 'Collie info';
       }

しかし、URLが正しい場合www.mysite.com/animals.php?pet=dogs、品種が設定されていないため、とにかくリダイレ​​クトされます。

私が考えることができる唯一の解決策は、何もエコーしないことです:

if (!isset($_GET['breed']) || empty($_GET['breed']) || ($breed_true === false)){
    echo '';
} else {
       echo 'Collie info';
       }

しかし、?pet=dogs&ユーザーが好きなものを入力できるようになった後、それが安全かどうかわからないので、エラーページにリダイレクトする方が良いと思いますが、それは可能ですか??

4

0 に答える 0