Проверка переменных на "пустоту" Если пользователь оставил пустые поля, то должно выводиться сообщение, но почему-то данная конструкция не срабатывает. Проверяется только первая переменная $_POST['fio'] PHP: if ($_POST['fio'] == "" and $_POST['pass'] == "" and $_POST['datepass'] == "") {
При использовании or для того, чтобы все выражение было true, достаточно чтобы хотябы одно условие выполнилось. Поэтому, к сожалению он мне не подойдет.[/list]
наверное, не так понял, что вам нужно. поставьте перед условием var_dump($_POST); посмотрите, что у вас в массиве вообще есть.
PHP: <?php $fio = isset($_POST['fio'])?$_POST['fio']:null; $pass = isset($_POST['pass'])?$_POST['pass']:null; $datepass = isset($_POST['datepass'])?$_POST['datepass']:null; $err = array(); if(empty($fio)) $err[] = 'ФИО'; if(empty($pass)) $err[] = 'pass'; if(empty($datepass)) $err[] = 'datepass'; $err = implode('<br>',$err); echo $err; ?> А если нужно проверить, не пусты ли все эти поля вместе то типа так: if(count($err) == 0) echo 'Все поля заполнены'; Эту строчку вставлять до implode();
PHP: $fio = isset($_POST['fio'])?$_POST['fio']:null; Распишите, пожалуйста, эту строку. Ничего в ней не пойму... Почему нельзя просто взять переменную $_POST['fio'], без проверки?
antiv89 Можно эту строчку "перевести" как: PHP: <?php if(isset($_POST['fio'])) $fio = $_POST['fio']; else $fio = ''; если тебе так проще для понимания. Проще работать с переменной, а не постоянно с ПОСТ-массива чтото доставать. МОжно и без проверки. Но ты ж всеравно будешь эти данные добавлять в файл или базу и всеравно придется проверять.