Не могу разобраться, зачем писать так PHP: if (isset($_POST['var']) && !empty($_POST['var'])) { $var = $_POST['var']; } else { die('Заполните все поля'); } Зачем писать isset() если empty() проверяет на инициализацию и на null, а isset() только на инициализацию?
Klin "Если существует $_POST['var'] и она не пустая - то присваиваем $var ее значение" Можно и по-другому. $var = isset($_POST['var'])?$_POST['var']:null; if(!empty($var)) { чтото } else exit(); Если просто проверять if(!empty($_POST['var'])) можно получить Notice, что не есть гуд.
в том то и проблема, php.ini стоит error_reporting = E_ALL и никаких Notice не получаю, может в 5.3.1 убрали?
empty() проверяет на пустую строку, null, 0 и false. Неинициализированная переменная так же содержит null. На существование эта конструкция не проверяет. Но, из-за двойственности возникновения этого самого null нотисы и не выбрасываются. isset() наоборот проверяет, что переменная была создана, пусть даже с нулевым значением. Скажем так: приходя в магазин мы сначала достаём кошелёк и только потом расплачиваемся. Хотя, никто не заставляет использовать эту форму записи.
ничего не выдает, уже в самом скрипте ставил error_reporting (E_ALL); и error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE); Ноль реакции
специально проверил Не инициализированную переменную var_dump() выдал Notice и NULL огромное спасибо за понятное объяснение)
я тоже когда-то с трудом сжился с мыслью, что переменная может быть пустой, а может содержать ничего/Мусор =)