Проверка формы отправки почты

 

Предположим, нужно проверить форму обратной связи перед отправкой данных на почтовый ящик. Форма содержит поля: имя отправителя, текст сообщения, почтовый ящик отправителя.

Код формы :

<html>
<head>
<title>Форма обратной связи</title>
</head>
<body>
<form method = “POST” action=””>
<table>
<tr>
<td>Отправитель:</td>
<td><input type="text" name="fio"/></td>
</tr>
<tr>
<td>Сообщение:</td>
<td><textarea name="msg"></textarea></td>
</tr>
<tr>
<td>Почтовый ящик: </td>
<td><input type="text" name="mail"/></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="send" value="Отправить"></td>
</tr>
</table>
</form>
</body>
</html>

Нужно проверить поля:

- поле «отправитель» нужно проверить на наличие записи и что в это поле введены только символьные знаки ([а-я]),

- поле «сообщение» проверить на наличие текста,

- поле «почтовый ящик» на корректность введенного адреса.

 

Для проверки нужно написать JavaScript функцию, которая будет вызываться при отправке формы. Можно воспользоваться событием onsubmit, при возникновении которого и будет вызываться функция обработки формы. Данная функция checkForm() будет возвращать значение true при успешной проверке и false при некорректном вводе заполняемой информации. Также в функцию виде параметра следует передавать ссылку на форму, через которую можно обращаться к элементам формы.


<script>
function checkForm(obj){
var return_value = true;


// регулярное выражение для проверки почтового ящика:
var reg_mail = /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i;


// регулярное выражение для проверки отправителя
var reg_sender = /[a-z]+/i;


// заносим значение поля почтовый ящик в переменную mail
var mail = obj.mail.value;


// заносим значение поля отправитель в переменную sender
var sender = obj.fio.value;


// заносим значение поля сообщение в переменную msg
var msg = obj.msg.value;


// объявляем переменную, в которую будет заносится текст сообщения
var error_msg = "Некорректно заполнены поля: ";

//проверка поля отправитель
if(reg_sender.exec(sender) == null && sender =="")

{
error_msg += "Отправитель ";
return_value = false;
}
//проверка поля почтовый ящик
if(reg_mail.exec(mail) == null)

{
error_msg += "Почтовый ящик ";
return_value = false;
}
//проверка поля текст сообщения
if(msg == "")

{
error_msg += "Текст сообщения ";
return_value = false;
}
//проверка на наличие ошибок, если возникла ошибка, выводим текст сообщения
if(!return_value)
alert(error_msg);

return return_value;
}
</script>


Полностью код будет иметь следующий вид:

<html>
<head>
<title>Форма обратной связи</title>
<script>
function checkForm(obj){
var return_value = true;


// регулярное выражение для проверки почтового ящика:
var reg_mail = /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i;


// регулярное выражение для проверки отправителя
var reg_sender = /[a-z]+/i;


// заносим значение поля почтовый ящик в переменную mail
var mail = obj.mail.value;


// заносим значение поля отправитель в переменную sender
var sender = obj.fio.value;


// заносим значение поля сообщение в переменную msg
var msg = obj.msg.value;


// объявляем переменную, в которую будет заносится текст сообщения
var error_msg = "Некорректно заполнены поля: ";

//проверка поля отправитель
if(reg_sender.exec(sender) == null && sender =="")

{
error_msg += "Отправитель ";
return_value = false;
}
//проверка поля почтовый ящик
if(reg_mail.exec(mail) == null)

{
error_msg += "Почтовый ящик ";
return_value = false;
}
//проверка поля текст сообщения
if(msg == "")

{
error_msg += "Текст сообщения ";
return_value = false;
}
//проверка на наличие ошибок, если возникла ошибка, выводим текст сообщения
if(!return_value)
alert(error_msg);

return return_value;
}
</script>

 

</head>
<body>
<form method = “POST” action=”#” onsubmit="return checkForm(this);">
<table>
<tr>
<td>Отправитель:</td>
<td><input type="text" name="fio"/></td>
</tr>
<tr>
<td>Сообщение:</td>
<td><textarea name="msg"></textarea></td>
</tr>
<tr>
<td>Почтовый ящик: </td>
<td><input type="text" name="mail"/></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="send" value="Отправить"></td>
</tr>
</table>
</form>
</body>
</html>

Для отправки почты используется функция PHP mail(). Файл mail.php будет содержать следующий код:

?php if (isset($_POST['send'])) { $to=$_POST['mail']; $tema="Message"; $content=$_POST['msg']; $from=$_POST['fio']; mail($to, $tema, $content, $from); } ?>

 

 








Дата добавления: 2016-03-04; просмотров: 890;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.