Привет! Вот вопрос от новичка. При регистрации пользователя в случае отсуствия заполненных полей выводится надпись PHP: exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); Вопрос, как сделать чтобы вместо этого оставалась таже регистрационная анкета + надпись "Некоторые необходимые поля не заполнены!" PHP: <form action="save_user.php" method="post" enctype="multipart/form-data"> <!-- save_user.php - это адрес обработчика. То есть, после нажатия на кнопку "Зарегистрироваться", данные из полей отправятся на страничку save_user.php методом "post" --> файл save_user.php PHP: if (empty($login) or empty($password)or empty($code) or empty($email) or empty($gender)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); //останавливаем выполнение сценариев }
exit используется для остановки сценария. может вывести просто ошибку? или направить редиректом пользователя обратно к себе в анкету? (только не забыть наполнить снова его форму, чтобы он не плакал, что всё похерилось).
PHP: <? $phone = ''; $email = ''; $error = false; if (isset($_POST['lalala']) { $phone = substr(trim($_POST['phone']), 0, 255); $email = substr(trim($_POST['email']), 0, 255); if (!$email) { echo 'Укажите почту'; $error = true;} if (!$phone) { echo 'Укажите телефон'; $error = true;} //тут еще таких полей может быть сто штук //но в итоге в конце пишем if (!$error) { //Отправляем анкету //очищаем все поля или не все - если предпологается что юзверь отправляет несколько подряд - зачем вводить одно и то же имя $phone = ''; $email = ''; //или не очищаем а редиректим его на "спасибо" header(Location: "http://site.com/spasibo.html"); } } else { echo "<input name='email' value='$email'>"; echo "<input name='phone' value='$phone'>"; echo "<input type='submit' name='lalala' value='отправить'>" }