Например, если я хочу использовать код:
$foo = $_POST['foo']. $_GET['foo'];
чтобы получить значение, переданное POST или GET, это приемлемо или плохая практика?
Например, если я хочу использовать код:
$foo = $_POST['foo']. $_GET['foo'];
чтобы получить значение, переданное POST или GET, это приемлемо или плохая практика?
Не видите в своем ответе ничего, что должно быть сброшено, хотя вы можете использовать $_REQUEST['foo']
, так как это будет учитывать $_POST
, а также $_GET
, но опять же, ваш код будет грязным, скажем, например, я изменил значение method
для формы входа , пользователи могут легко атаковать ваш сайт...
Так что будьте мудры, используйте $_GET[]
и $_POST[]
вместо свободного $_REQUEST[]
Если для каких-либо средств вы используете $_REQUEST
, спасибо, убедитесь, что вы используете условия, чтобы проверить, является ли запрос GET
или POST
с использованием $_SERVER['REQUEST_METHOD']
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
//Do something
}
data
в http://xxx/index.php?data=x
- person Daniel W.; 02.01.2014
$_POST['data']
или $_GET['data']
будет в $_REQUEST['data']
?
- person Daniel W.; 02.01.2014
Я бы пошел с:
$foo = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
Подробнее: http://php.net/manual/pt_BR/reserved.variables.request.php
чтобы получить значение, передается ли через POS или GET, используйте это
$foo = $_REQUEST['foo'];
Если вы настроите свой сервер разработки PHP для выдачи всех предупреждений, вы узнаете.
почему вы используете . оператор, если я не ошибаюсь, это объединит результат, так как предложенное выше использование $_REQUEST было бы лучшим подходом.
Да, это ужасно. Есть две проблемы:
Если вы хотите получить ключ либо от $_POST
, либо от $_GET
, и вам все равно, в каком из них присутствует ключ, вы можете использовать суперглобальную переменную $_REQUEST со следующей идиомой:
$var = isset($_REQUEST['foo']) ? $_REQUEST['foo'] : null;
$_REQUEST
— это союз $_GET
и $_POST
.