Простой PHP GET вопрос - PullRequest
       7

Простой PHP GET вопрос

0 голосов
/ 18 марта 2010

UPDATE:

Все приведенные ниже методы не

работа для:

mysite.com? Имя пользователя = я и действие = editpost

но только для:

mysite.com? Действие = editpost


Я знаю, как определить, находится ли конкретный метод GET в URL:

$username = $_GET['username'];

if ($username) {
   // whatever
}

Но как я могу обнаружить что-то вроде этого:

http://www.mysite.com?username=me&action=editpost

Как я могу обнаружить "& действие" выше?

Ответы [ 8 ]

2 голосов
/ 18 марта 2010
$action = $_GET['action'];

if ($action) {
   // whatever
}

или

if(array_key_exists('action', $_GET)) {

}

Кстати, метод называется GET. Что вы имеете в виду параметры.

1 голос
/ 18 марта 2010

Все параметры GET доступны одинаково.

$username = $_GET['username'];
$action = $_GET['action'];

if ($username) {
   // whatever
}

if ($action == 'editpost') {
   // whatever
}
0 голосов
/ 18 марта 2010

Так же, как имя пользователя:

$action = $_GET['action'];
0 голосов
/ 18 марта 2010

параметры в URL назначены массиву $ _GET слева направо.

Если у вас есть что-то вроде

?username=me&action=editpost&somekey=somevalue&action=&someotherkey=someothervalue

тогда первый 'editpost' будет назначен как действие, но затем он будет заменен как '' и в результате

$_GET['action'] = ''; (instead of 'editpost')
0 голосов
/ 18 марта 2010

Точно так же - $ _GET это массив

$action = $_GET['action'];

Попробуйте print_r( $_GET ), чтобы увидеть, что в нем

0 голосов
/ 18 марта 2010

Вы можете сделать следующее:

if(array_key_exists('action', $_GET)){ // returns a boolean
  // do something
}
0 голосов
/ 18 марта 2010
if (array_key_exists('action', $_GET) && $action = $_GET['action']) {
 // action exists
}

Однако, если пустая строка (или что-либо, что оценивает как логическое ложное ), является допустимым значением, просто используйте это вместо:

if (isset($_GET['action'])) {
 $action= $_GET['action'];
 // Do stuff with $action
}

Использование $_GET['action'], когда действие не задано, будет генерировать уведомление в зависимости от уровня сообщения об ошибках.

0 голосов
/ 18 марта 2010
array_key_exists('action', $_GET)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...