PHP: невозможно установить переменную, когда $ _REQUEST пусто - PullRequest
1 голос
/ 04 апреля 2011

У меня проблемы с установкой переменной, либо с использованием $ _REQUEST, либо это мой синтаксис. При проверке $_REQUEST['orderBy'], если оно пустое / пустое, я хочу установить значение по умолчанию 'order_date'. Однако, когда он извлекает и очищает $_REQUEST['orderBy'], он просто остается пустым, вместо того, чтобы устанавливать его. Я сделал некрасивое исправление в коде, чтобы позже решить эту проблему, но мне просто интересно, что я делаю неправильно:

$orderBy = isset($_REQUEST['orderBy']) ? stripslashes($_REQUEST['orderBy']) : 'order_date';

1 Ответ

4 голосов
/ 04 апреля 2011

В этом нет ничего синтаксически неправильного, но он установит $orderBy в пустое значение, если $_REQUEST['orderBy'] установлено, но пусто. Попробуйте использовать empty () :

$orderBy = (empty($_REQUEST['orderBy'])) ? 'order_date' : $_REQUEST['orderBy'];

Если это все еще не работает, вы можете ошибочно установить $_REQUEST['orderBy'] перед этой строкой. Вы должны попытаться использовать более конкретные суперглобальные переменные, такие как $_POST и $_GET, поскольку они делают ваш код более понятным и читаемым, а также потому, что они повышают безопасность вашего приложения.

...