Кажется, не работает: if ($ _ SERVER ['REQUEST_METHOD'] == 'GET') для запросов GET? - PullRequest
1 голос
/ 06 мая 2010

Следующий код выполняется независимо от того, переданы ли переменные GET или нет:

if($_SERVER['REQUEST_METHOD'] == 'GET')
{
    //Do something
}

Следующее выполняется только при передаче переменных GET:

if($_GET)
{
    //Do something
}

У меня сложилось впечатление, что первый метод был лучше, но теперь я в замешательстве.

Есть идеи? Спасибо!

1 Ответ

4 голосов
/ 06 мая 2010

Первый код будет выполнен, когда метод запроса имеет тип GET, даже если строка запроса отсутствует.
Он не будет выполнен с типом запроса POST, даже если строка запроса существует.

Вы должны понимать, что тип запроса «GET» не означает, что переменные были переданы в URL.

Таким образом, эти два кода созданы для совершенно разных задач.

Если вам просто нужно проверить, переданы ли переменные в URL, используйте второй.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...