Цитата (linf @ 5.07.2009 - 08:02) |
Почему даже если проверяемые поля НЕ заполннены, продолжается выполнение кода |
Потому что в первой половине кода мы не "уточняем переменные, если пустые, присваиваем знаичение ноль" - isset будет в любом случае возвращать true, потому как поля типа input будут возвращаться даже пустые.
Тоесть тебе нужно что-то типа:
PHP |
function redirect($url) { header('Location: '.$url); exit('Если Ваш браузер не поддерживает переадресации <a href="'.$url.'">тыц</a> сюды'); }
// уточняем переменные, если пустые, присваиваем знаичение ноль (или редирект): $region = basename($_POST['region']); $date = date("d.m.Y"); $head = empty($_POST['head'])?$_POST['head']:redirect('/error.php?error=2'); $text = empty($_POST['text'])?$_POST['text']:redirect('/error.php?error=3'); $name = empty($_POST['name'])?$_POST['name']:redirect('/error.php?error=4'); $city = isset($_POST['city'])?$_POST['city']:null; $tel = isset($_POST['tel'])?$_POST['tel']:null; $icq = isset($_POST['icq'])?$_POST['icq']:null; $mail = empty($_POST['mail'])?$_POST['mail']:redirect('/error.php?error=5'); |
код не проверял