Здравствуйте, товарищи! Есть такой код для обновления пароля: PHP: if(isset($_POST['submit'])){ if(empty($_POST['password'])){ header('Refresh: 3; URL = /admin/newpass'); echo '<p class="error">Введите новый пароль!</p>'; } /* elseif (!preg_match('/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$/u', $password)) { header('Refresh: 3; URL = /admin/newpass'); echo '<p class="error">Пароль может состоять только из цифр и букв латинского алфавита!</p>'; } */ else{ $doc =newDOMDocument('1.0','UTF-8'); $doc->formatOutput =true; $doc->load('xml/admin.xml'); $root = $doc->documentElement; if(isset($_POST['password'])){ $password = $_POST['password']; $pass = $root->getElementsByTagName('password'); if(isset($password['password'])and trim($password['password'])!=''){ $pass = $pass->item(0); $pass->nodeValue = crypt($password['password']); } } $doc->save('xml/admin.xml'); header('Refresh: 3; URL = /admin'); echo '<p class="valid">Пароль обновлён</p>'; } } Этот код работает отлично, но, пропускает пустое поле. Т. е., если ничего не ввести и отправить на сервер, то всё равно выводится «Пароль обновлён», при этом, конечно, записи в файл не происходит. Вроде бы всё логично: есть условие, что поле должно быть заполнено и если всё ОК, то пропускаем на перезапись в файл. Вообще не могу понять в чём может быть проблема.