Контроль, если пользователь использовал $ _GET ['? ? '] Метод URL - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь контролировать, вводит ли пользователь какую-либо ссылку GET url, но я могу, только если я укажу запрос $ _GET для перенаправления этого URL, не существует ..

Например, когда я набираю: https://someurl.com? Id = 2 Я могу контролировать $ _GET, потому что я знаю, что "id" называется ..

if(isset($_GET['id'])) {
  echo "URL DOES NOT EXIST";
  die();
}

Таким образом, в основном, когда пользователь вводит любое другое вместо «id», сообщение не будет отображаться ... Возможно ли это сделать?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Если я понимаю ваш вопрос, согласно вашему комментарию , вот что вы пытаетесь сделать:

<?php
$arr = array(1, 2, 3);
if (isset($_GET['id']) && !empty($_GET['id'])) {
    // If "id" is set and not empty, do:
    $id = $_GET['id'];
    if (in_array($id, $arr)) {
        // If "id" is in array of available ids
        // Page exists
        echo "Hello World";
    } else {
        // Page does not exists
        echo "Page does not exists";
    }
} else {
    // Page does not exists
    echo "Page does not exists";
}

Это приведет к:

index.php?id=1  // "Hello World"
index.php?id=27 // Page does not exists
index.php?id=   // Page does not exists
index.php       // Page does not exists

Я не рекомендую использовать массивы для идентификатора страницы, вместо этого используйте базу данных (mysql / mariadb)

0 голосов
/ 03 июля 2018

Вы можете просто просмотреть вашу переменную $ _GET и проверить ее содержимое.

foreach ($_GET AS $Key => $Value) {
  echo "Set key: ".$Key;
  echo "Set value: ".$Value;
}

Или, может быть, просто проверьте, была ли установлена ​​переменная $ _GET:

if(!empty($_GET))
  echo "URL DOES NOT EXIST";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...