г. Саратов
+7 (927) 130-20-79
mail@promo64.ru

Форма связи с выбором получателя на php

Разработка и продвижение сайтов в Саратове

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);
}
?>