Проверка пользовательского ввода хлопотна, но это неизбежное зло.
Лично я предпочитаю не использовать $_GET
или $_POST
, кроме копирования необходимого содержимого в мои собственные переменные для обработки.
Вверху моего .php-файла я храню массив с именами значений, которые я хочу скопировать из $_GET
или $_POST
Это в сумме составляет:
// the following array needs to be modified when you change your input specs
$inputAllowed = array("name", "title", "company");
$input = array();
foreach($inputAllowed as $key)
if( array_key_exists( $key, $_POST ) )
$input[$key] = $_POST[$key];
else
$input[$key] = "";
Легко добавить туда проверку is_null с обработкой на случай, если что-то не должно быть нулевым. Или вы можете сначала позволить завершить цикл, а затем перебрать $ input