PHP Определить, были ли установлены какие-либо переменные URL - PullRequest
0 голосов
/ 17 ноября 2009

У меня есть веб-страница, на которую можно установить любое количество вариабелей URL .. примеры:

  • index.php? Source = lol
  • index.php? Источник = лол и суб = ха-ха
  • index.php? АРР = 123
  • index.php? Ключевое слово = пицца

Я хочу, чтобы я мог определить, была ли установлена ​​любая переменная url, если была установлена ​​переменная url, я хочу напечатать что-нибудь на странице. Есть идеи? Я не смог найти в Google ничего об этом.

Ответы [ 6 ]

7 голосов
/ 17 ноября 2009

count($_GET); вернет количество параметров в URL. Используйте if (count($_GET) > 0), чтобы проверить их наличие.

Например:

if (count($_GET) > 0){
    print "You supplied values!";
} else {
    print "Please supply some values.";
}
1 голос
/ 17 ноября 2009

Проверить isset ($ _ GET ['var_name'])

http://php.net/isset

0 голосов
/ 12 июля 2013

, поскольку $ _GET возвращает массив, может быть безопаснее проверить его размер с помощью функции sizeof ()

Пример:

 if(sizeof($_GET)>0){
   /*you had passed something on your link*/
 }else{
   /*you did not passed anything on your link*/
 }
0 голосов
/ 17 ноября 2009

Если вы хотите проверить, были ли отправлены какие-либо переменные, используйте функцию ниже.

function hasGet()
{
    return !empty($_GET);
}

if (hasGet()) {
    echo "something on the page";
}
0 голосов
/ 17 ноября 2009

Более общее:

if (count($_GET)) {
 foreach ($_GET as $key => $value) {
  echo "Key $key has been set to $value<br />\n";
 }
}
0 голосов
/ 17 ноября 2009

Вы можете видеть, была ли переменная установлена ​​с помощью isset или array_key_exists:

if (isset($_GET['source']))
    doSomething();

Вы можете перебрать всю переменную querystring следующим образом:

foreach ($_GET as $key => $value)
    echo htmlspecialchars($key) . ' is set to ' . htmlspecialchars($value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...