PHP форма связи с выбором получателя
<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript" language="javascript"> function call() { var msg = $('#formx').serialize(); $.ajax({ type: 'POST', url: '1.php', data: msg, success: function(data) { var res = JSON.parse(data); if(res["status"] == 1 ){ document.getElementById('name').value = ""; document.getElementById('tel').value = ""; document.getElementById('email').value = ""; document.getElementById('sms').value = ""; document.getElementById('er_email').innerHTML = ""; document.getElementById('er_tel').innerHTML = ""; document.getElementById('er_name').innerHTML = ""; document.getElementById('er_sms').innerHTML = ""; document.getElementById('results').innerHTML="С вами свяжуться зеленые человечки"; }else{ // выводим какие поля в ошибках document.getElementById('er_email').innerHTML = res["email"]; document.getElementById('er_tel').innerHTML = res["tel"]; document.getElementById('er_name').innerHTML = res["name"]; document.getElementById('er_sms').innerHTML = res["sms"]; } }, error: function(xhr, str){ document.getElementById('results').innerHTML='Возникла ошибка: ' + xhr.responseCode; } }); } </script> </head> <form method="POST" id="formx" action="javascript:void(null);" onsubmit="call()"> </br> емаил <input name="email" id="email" type="email" value = ""> </br> имя <input name="name" id="name" type="text" value = ""> </br> телефон <input name="tel" id="tel" type="text" value = ""> </br> Сообщение <textarea rows="5" cols="40" name="sms" id="sms" type="text"></textarea> </br> Выбрать отдел <select name="FoP" id="FoP" type="text"> <option>Отдел 1</option> <option>Отдел 2</option> <option>Отдел 3</option> </select> </br> <input type="submit" value="Отправить"> </form> <div id="results"></div> <div id="er_email"></div> <div id="er_name"></div> <div id="er_tel"></div> <div id="er_sms"></div> </html>
обработчик:
<?php $s = ''; $zik = false; $kit = false; $email_otdel = array( "otdel_1"=>"1@list.ru", "otdel_2"=>"2@list.ru", "otdel_3"=>"3@list.ru",); if (isset($_POST['FoP'])) { // какой отдел $FoP = $_POST['FoP']; if ($FoP == '') { unset($FoP); $zik=true; }else{ if($FoP == "Отдел 1"){ $FoP = "otdel_1"; } if($FoP == "Отдел 2"){ $FoP = "otdel_2"; } if($FoP == "Отдел 3"){ $FoP = "otdel_3"; } } } else{$kit = true; } if (isset($_POST['email'])){ // емаил $email=$_POST['email']; if ($email =='') { unset($email); $er_email = 'Не введен email'; $zik=true; $error_email=true; }else { if (preg_match("/[^(\w)|(\@)|(\.)|(\-)]/",$email)) { unset($email); $er_email = 'Не корректный емаил email'; $zik=true; $error_email=true; } } } else{$kit = true; } if (isset($_POST['name'])) { // имя $name = $_POST['name']; if ($name == '') { unset($name); $er_name = 'Не введено имя'; $zik=true; $error_name=true; }else{ if (!preg_match('/^[-a-z,A-Z,а-я,А-Я]{1,50}$/', $name)){ unset($name); $er_name = 'Не корректное имя'; $zik=true; $error_name=true; } } } else{$kit = true; } if (isset($_POST['sms'])) { // тело письма $sms = $_POST['sms']; if ($sms == '') { unset($sms); $er_sms = 'Не заполнено сообщение'; $zik=true; $error_sms=true; } } else{$kit = true; } if (isset($_POST['tel'])) { // телефон $tel = trim($_POST['tel']); if ($tel == '') { unset($tel); $er_tel = 'Не введен телефонный номер'; $zik=true; $error_tel=true; } else { if (!preg_match('/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/', $tel)){ unset($tel); $er_tel = 'Не корректный телефонный номер'; $zik=true; $error_tel=true; } } } else{$kit = true; } if ($zik == false && $kit == false){ // отправляем письмо об успешной регистрации $to = $email_otdel[$FoP]; // кому $subject = "От Пети"; // заголовок // сообщение $message = '<html></br>емаил - '.$email.'</br> имя - '.$name.' </br> телефон - '.(string)$tel.'</br> Сообщение - '.$sms.'</html>'; $headers = "Content-type: text/html; charset=windows-1251 \r\n"; $headers .= "From: info@".$_SERVER; // от кого mail($to, $subject, $message, $headers); echo json_encode(array("status"=>1)); }else{ $options=array( "status"=>0, "email"=>$er_email, "name"=>$er_name, "tel"=>$er_tel, "sms"=>$er_sms); echo json_encode($options); } ?>