PHP: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> </head> <body> <table width="1000" height="810" border="0" align="center" cellpadding="0" cellspacing="0" class="tabl_fon"> <?php include("php/top.php"); ?> <tr> <?php include("php/left.php"); ?> <td class="procent_mal"> </td> <td class="procent_bol" align="center" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="tabl_otstup_centr"> <tr> .............. </tr> <tr> <td colspan="4" align="center" valign="top"> <?php if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } ............{ exit ("<p>Вы ввели не всю информацию, вернитесь назад и заполните все поля!<p/>"); } if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) {exit ("Неверно введен е-mail!");} function generate_code() { ..........} function chec_code($code) //проверяем код { $code = trim($code);//удаляем пробелы else { return FALSE; } } if (!chec_code($_POST['code'])) { exit ("<p>Вы ввели неверно код с картинки.</p>"); } if (strlen($login) < 3 or strlen($login) > 15) { exit ("<p>Логин должен состоять не менее чем из 3 символов и не более чем из 15.</p>"); //останавливаем выполнение сценариев } if (strlen($password) < 3 or strlen($password) > 15) { exit ("<p>Пароль должен состоять не менее чем из 3 символов и не более чем из 15.</p>"); //останавливаем выполнение сценариев } if (empty($_FILES['fupload']['name'])) { $avatar = "avatars/net-avatara.jpg"; } else { } else { exit ("<p>Аватар должен быть в формате <strong>JPG,GIF или PNG</strong></p>"); } } $result = mysql_query("SELECT id FROM users WHERE login='$login'",$db); $myrow = mysql_fetch_array($result); if (!empty($myrow['id'])) { exit ("<p>Извините, введённый вами логин уже зарегистрирован. Введите другой логин.</p>"); } $result2 = mysql_query ("INSERT INTO users (login,password,avatar,email,date) VALUES('$login','$password','$avatar','$email',NOW())"); if ($result2=='TRUE') { $result3 = mysql_query ("SELECT id FROM users WHERE login='$login'",$db); echo "<p>Вам на E-mail выслано письмо с cсылкой, для подтверждения регистрации. Внимание! Ссылка действительна 1 час. <a href='index.php'>Главная страница</a></p>"; } else { exit ("<p>Ошибка! Вы не зарегистрированы.</p>"); } ?> </td> </tr> </table></td> </tr> </table></td> <td class="procent_mal"> </td> <?php include("php/right.php"); ?> </tr> <?php include("php/footer.php"); ?> </table> </body> </html> Проблема в следующем. Если срабатывает условие и выполняется команда exit, то include, которые ниже этой команды не включаются, а как сделать так чтоб они включались?? Часть кода убрано чтобы незагромождать
сделай вместо PHP: exit ("<p>Ошибка! Вы не зарегистрированы.</p>"); просто PHP: echo ("<p>Ошибка! Вы не зарегистрированы.</p>");
Если так сделать, то он сразу все выведет Ошибка! Вы не зарегистрированы Неверно введен е-mail Условий то много!
вынеси тогда в функцию этот хвост PHP: function tile($with_err = null) { if (null !== $with_err) echo ($with_err); ?> </td> </tr> </table></td> </tr> </table></td> <td class="procent_mal"> </td> <?php include("php/right.php"); ?> </tr> <?php include("php/footer.php"); ?> </table> </body> </html><?php } exit меняем на tile, и в конце вызываем опять tile без параметра.
Это как? Вот сделал так: PHP: function tile($with_err = null) { if (null !== $with_err) echo ($with_err); ?> </td> </tr> </table></td> </tr> </table></td> <td class="procent_mal"> </td> <?php include("php/right.php"); ?> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <?php include("php/footer.php"); ?> </table> </body> </html> <?php }?> Он мен первый title вывел нормально, но в конце страницы продублировал PHP: <?php include("php/right.php"); ?> <?php include("php/footer.php"); ?> столько раз сколько встречается title на странице
нужно выставлять флаги для каждого случая, отрисовывать опять ту же форму с уже введенными данными, чтобы не гонять посетителя по второму кругу, и допустим выделять их красной рамочкой. Вот и все =) Т.е. сначала проверяешь необходимое. При возникновении ошибочного ввода выставляешь переменные типа $phone_error=true. А уже после того, как все проверено, выводишь сообщения вверху красненьким, чтобы посетитель знал, что именно не так. А после - отрисовка элементов ввода, и вокруг каждой рисуешь рамочку. Нет флага - нет красной рамочки. Это как вариант.
Mr.M.I.T., у кого-то мальчики кровавые в глазах. Везде ему Попов мерещится. Или ты скачал курсы и внимательно ознакомился для выявления адептов?