Ответ Чемберлену ака
RomikChef
PHP:
if ($submit) {
проверяем поля и формируем сообщение об ошибках
if (!$errmsg) {
заносим в базу
header(location
exit;
}
Дальше пишем заголовок страницы
echo $errmsg;
и дальше - форму с валуями.
Действительно, я в своем примере забыл хэдер впилить
А насчет else да меньше скобок, согласен, но все же не критично
$mail = isset($mail)?$mail:''
допустим, выкидываем эту строку
и пишем хттп://кырлымырлы.php?submit=blaa
Получаем сообщение об отсутствии переменной $mail, в таком-то там файле в такой-то строке
Если файл один не страшно и так понятно в каком файле ошибка, а если поверка маила инклудалась, то имеем путь к файлу про который раньше и не знали
Конечно нормальный человек хттп://кырлымырлы.php?submit=blaa писать не будет, такое будет писать какой-нить урод, а ему тоько структуру файлов и дай.
К тому же вывод ошибки убъет header, да еще и при ошибке может флаг не сгенерится
Кто-то может сказать, что я параноик, кто-то скажет, что меня и так сломают, но я лучше напишу всего одну строчку, меня не убудет
И вообще, я так понял, что у тебя форма для ввода одного только емейла
Это был всего пример
Естественно в полей в форме много, всего навсего создаются пременные $error[mail],$error[site].....
И как раз, когда много полей, логичнее проверять один $flag чем все сообщения об эрорах
Мой подход был в том, чтоб при наличии нескольких ошибок(т.е. направильно заполнены или вообще незаполнены несколько полей) посетителя возвращали опять к форме и писали про все ошибки сразу
Меня лично бесит, когда говорят, Вы не заполнили то поле, заполняешь, жмешь сабмит, а еще и это не заполнили, и опять сабмит, так, а Вы еще и это не так вбили
Насчет порверки паттерна. Я посмотрю, сам его писал, чем еще несколько недель очень гордился бо еле в регексп въехал
А на что обратить внимание на функию или сам рег эксп, у меня во всяком случае все проверяет, объясни плз
С уважением