как сделать в проверку поля mail в скрипте

  • Автор темы Автор темы Sleed
  • Дата начала Дата начала

Sleed

Новичок
как сделать в проверку поля mail в скрипте

У меня возникла проблема со скриптом отправки,мне нужно чтобы некоторые поля были обязательными.Как сделать чтобы поле mail проверялось,если такое поле не заполнено то бы выдавало ошибку и возрашалось назад на форму,я пробыл вставлять условие if ($Email == "") {print "<script language=JavaScript>window.alert('Введите e-mail!');</script>"; exit;} в ниже приведенный скрипт,но результатов не дало.Помогите закончить скрипт!Как сделать проверку???

PHP:
 <body bgcolor="F7F7F7">


<?
print  "<P ALIGN=CENTER><font color=9A9898 size=3 face=Tahoma>Спасибо! 

</P>";
print  "<P ALIGN=CENTER><font color=9A9898 size=3 face=Tahoma>Ваша заявка была успешно отправлена.
</P>";
print  "<P ALIGN=CENTER><font color=9A9898 size=3 face=Tahoma>Регистратор центра в ближайшее 
время свяжется с Вами и согласует дату и время приема. </P>";
?>
<?  Print "<P ALIGN=CENTER><a href=/~rdc//index.html>на главную</a>" ?>
<? 

// Информация на Ваш e-mail



$header="From: \"$mail\" <$name>\n";
$header.="Content-type: text/plain; charset=\"windows-1251\"";


mail("[email protected]",         
"Запись на приём врача",           
"Ф.И.О.: $name\n  
Возраст: $age\n
Телефон: $tel\n                   
E-mail: $mail\n               
Специалист: $vote\n             
Жалобы: $text",$header);      

?>
;
 
первым делом http://phpfaq.ru/na_tanke
а уже потом есть два варианта:
1. проверять на стороне клиента
2. проверять на стороне сервера

-~{}~ 02.03.07 14:06:

кстати по поводу и того и другого гугл знает массу примеров
 
В этом скрипте я не знаю куда усл."if" поставить,чтобы поле mail проверяло,если пустое или некоректно заполненое, по ошибке переходило назад на php форму.А по else выполнялся дальше скрипт.
 
неужели ты настолько не понимаешь, что в скрипте написано?
ну а предположить ты можешь?
хотя бы примерно?
куда вставить иф?
 
Автор оригинала: Фанат
неужели ты настолько не понимаешь, что в скрипте написано?
ну а предположить ты можешь?
хотя бы примерно?
куда вставить иф?
Куда всавить я знаю,а как правильно сделать else нет!Если бы я всё понимал,то бы обращался с помощью?Куда else поставить?Если знаеш помоги...
 
if ($Email == "") {print "<script language=JavaScript>window.alert('Введите e-mail!');</script>"; exit;} я поставлю в начало ,а если поле заполненное то что?Else что не надо
 
зачем это ставить в начало?
а если поле заполненное, то скрипт прекрасно отработает до конца
 
А если все поля пустые то мне всё равно выдаст что "спасибо""Ваша заявка была успешно отправлена",это неправильно,а как правильно сделать а непойму.
 
ну вот и размести свою проверку так, чтобы не выдвавало спасибо, если поле пустое.
 
PHP:
if (!empty($mail)) {
	print('Всё ок');
	mail('...');	
} else {
	print('Гонишь?');
}

// далее форма
 
andymc
отличный код. уважаю
долго, наверное, учиться пришлось, чтобытакой шедевр осилить?
 
Ну, для 5 лет усилий это просто шедевр.
Вижу, нелегко тебе дался такой алгоритм. Ты уж не насилуй себя, отдохни денёк-другой.
 
Так:
тяжело :)

переменные передаваемые формой:
PHP:
$name
$age
$tel
$mail
$vote
$text

лучше к ним обращаться через суперглобальный массив
PHP:
$_POST[];
или другой
чтоб проблем с registerglobals не было.
далее все поля надобно проверить и защитить.
что-нибудь типа этого:
PHP:
$name = htmlspecialchars(trim(strip_tags(stripslashes($_POST['name']))));
E-mail можно проверить регулярочкой:
PHP:
!eregi("^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$",$_POST['mail'])
текст (если имеется ввиду textfield) можно украсить типа:
PHP:
$text = str_replace("\n","<br>",$text);
Хорошо было бы ещё captch'ой все это дело завернуть, но думаю, что пока это будет для тебя сложно.

А проверку можно по-всякому делать...
В твоем случае (как ты сам пишешь),
это:
PHP:
if ($_POST['Submit'] != "Отправить") // или твоё значение кнопки
{
include ("form.php"); // путь к форме
}
else
{
include ("check.php"); // путь к обработчику
}

И если тебе это сложно, то........
PHP:
// no comments
 
Сверху