Advertisement
Guest User

Untitled

a guest
Jun 9th, 2015
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.20 KB | None | 0 0
  1. <?php
  2.  
  3. //На какой адрес слать почту
  4. $to = "Anton <anton@yandex.ru>, ";
  5. $to .= "Egor <egor@yandex.ru>";
  6.  
  7.  
  8. if ($_POST['phone'] == 'Телефон') unset($_POST['phone']);
  9. if ($_POST['name'] == 'Ваше имя') unset($_POST['name']);
  10.  
  11. $order_id=date('ymdHis');
  12. $ip=$_SERVER['REMOTE_ADDR'];
  13.  
  14. //if (!check_input('type')) die('Ошибка ввода данных - тип формы');
  15.  
  16. switch( @$_POST['type'] ){
  17.  
  18.     case "free":        $message = free_order();
  19.                         $subject = "Заказ";
  20.                         send_mail($to, $subject, $message);
  21.                         break;
  22.    
  23.     case "callback":    $message = callback();
  24.                         $subject = "Обратный звонок";
  25.                         send_mail($to, $subject, $message);
  26.                         break;
  27.  
  28.     default:            $message = general_order();
  29.                         $subject = "Заказ";
  30.                         send_mail($to, $subject, $message);
  31.                         break;
  32. }
  33.  
  34.  
  35.  
  36. function send_mail($to, $subject, $message){
  37.    
  38.     $headers  = "Content-type: text/html; charset=utf-8 \r\n";
  39.     $headers .= "From:  <admin@yoursite.ru>\r\n";
  40.  
  41.  
  42.     if (mail($to, $subject, $message, $headers)){
  43.  
  44.         if (isAjax()){
  45.             echo 'OK';
  46.         }else{
  47.            
  48.            
  49.             echo "";
  50.        
  51.         }
  52.      
  53.     }else{
  54.         die ("Ошибка функции mail()");
  55.     }
  56.  
  57. }
  58.  
  59.  
  60. function free_order(){
  61.  
  62.     if (
  63.  
  64.         check_input('phone')  
  65.            
  66.     )
  67.     {
  68.         $message = '
  69.         <html>
  70.                 <head>
  71.                         <title>Сообщение с сайта</title>
  72.                 </head>
  73.                 <body>
  74.                         <p>Имя: '.$_POST['name'].'</p>
  75.                         <p>Телефон: '.$_POST['phone'].'</p>
  76.                         <p>IP:'.$ip.'</p>
  77.                         <p>ID заказа:'.$order_id.'</p>
  78.                 </body>
  79.         </html>';
  80.         return $message;
  81.    
  82.     }else{
  83.         //return "error";
  84.         die("Ошибка ввода данных, проверьте поля");
  85.     }
  86. }
  87.  
  88. function general_order(){
  89.  
  90.     if (
  91.         check_input('phone')
  92.     )
  93.     {
  94.         $message = '
  95.         <html>
  96.                 <head>
  97.                         <title>Сообщение с сайта</title>
  98.                 </head>
  99.                 <body>
  100.                         <p>Имя: '.$_POST['name'].'</p>
  101.                         <p>Телефон: '.$_POST['phone'].'</p>
  102.  
  103.                 </body>
  104.         </html>';
  105.         return $message;
  106.    
  107.     }else{
  108.         //return "error";
  109.         die("Ошибка ввода данных, проверьте поля");
  110.     }
  111. }
  112.  
  113. function callback(){
  114.  
  115.     if (
  116.         check_input('name') &&
  117.         check_input('phone')
  118.     )
  119.     {
  120.         $message = '
  121.         <html>
  122.                 <head>
  123.                         <title>Запрос обратного звонка</title>
  124.                 </head>
  125.                 <body>
  126.                         <p>Имя: '.$_POST['name'].'</p>
  127.                         <p>Телефон: '.$_POST['phone'].'</p>
  128.                 </body>
  129.         </html>';
  130.         return $message;
  131.    
  132.     }else{
  133.         //return "error";
  134.         die("Ошибка ввода данных, проверьте поля");
  135.     }
  136. }
  137.  
  138. function check_input($field){
  139.     return isset($_POST[$field]) && !empty($_POST[$field]);
  140. }
  141.  
  142. function isAjax() {
  143.  return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
  144.  ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'));
  145. }
  146.  
  147.  
  148. ?>
  149.  
  150.  
  151. <!DOCTYPE html>
  152. <title>Заявка принята!</title>
  153. <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
  154. <meta name="robots" content="noindex"/>
  155. <style>
  156. body {background: rgba(180,180,180,.9);}
  157. body > div {
  158.   position: absolute;
  159.   top: 50%; left: 50%;
  160.   -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
  161.   padding: .5% 1% 1%;
  162.   border: 1px solid rgb(100,100,100);
  163.   font-size: 140%;
  164.   font-weight: 600;
  165.   text-align: right;
  166.   text-shadow: -1px -1px #666;
  167.   color: rgb(240,240,240);
  168.   background: rgb(150,150,150) linear-gradient(rgb(100,100,100), rgb(170,170,170));
  169. }
  170. label:hover {
  171.   color: #dbeaf9;
  172.   cursor: pointer;
  173. }
  174. body > div > div {padding-top: 3%;}
  175. </style>
  176.  
  177. <div>
  178. <label title="Продолжить">✕</label>
  179. <div>Спасибо за заказ! Проверьте, пожалуйста, правильность введенного номера: '.$_POST['phone'].'
  180. </div>
  181. </div>
  182.     <!-- Yandex.Metrika counter -->
  183. <script type="text/javascript">
  184. (function (d, w, c) {
  185.     (w[c] = w[c] || []).push(function() {
  186.         try {
  187.             w.yaCounter30794346 = new Ya.Metrika({id:30794346,
  188.                     webvisor:true,
  189.                     clickmap:true,
  190.                     trackLinks:true,
  191.                     accurateTrackBounce:true});
  192.         } catch(e) { }
  193.     });
  194.  
  195.     var n = d.getElementsByTagName("script")[0],
  196.         s = d.createElement("script"),
  197.         f = function () { n.parentNode.insertBefore(s, n); };
  198.     s.type = "text/javascript";
  199.     s.async = true;
  200.     s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";
  201.  
  202.     if (w.opera == "[object Opera]") {
  203.         d.addEventListener("DOMContentLoaded", f, false);
  204.     } else { f(); }
  205. })(document, window, "yandex_metrika_callbacks");
  206. </script>
  207. <noscript><div><img src="//mc.yandex.ru/watch/30794346" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
  208. <!-- /Yandex.Metrika counter -->
  209. <script> // нажав на label посетитель вернётся на предыдущую страницу, где заполнял форму
  210. document.getElementsByTagName('label')[0].onclick = function() {
  211.   window.location.href="<? print $_SERVER['HTTP_REFERER']; ?>"
  212. }
  213. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement