Здравствуйте, я в php полный 0. Что-то пробовал сделать, но вообще никак не разберусь без сторонней помощи. Если кому не сложно помогите, пожалуйста. Код (PHP): <form action="send.php" name="contact_form" id="contact_form" class="form-widget"> <input type="text" placeholder="Ваше имя" id="name" name="name" class="validate[required]" data-prompt-position="topLeft:0"> <input type="text" placeholder="Ваш e-mail" id="email_address" name="email_address" class="validate[required,custom[email]]" data-prompt-position="topLeft:0"> <input type="text" placeholder="Телефон" id="subject" name="subject" class="validate[required] no-margin-right" data-prompt-position="topLeft:0"> <textarea placeholder="Текст сообщения" id="msg" name="msg" class="validate[required]" data-prompt-position="topLeft:0"></textarea> <input type="submit" class="btn btn-medium btn-dark btn-square" value="Отправить"> </form> Код (PHP): <? if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они $to = 'melnychuk1985@gmail.com'; //Почта получателя, через запятую можно указать сколько угодно адресов $subject = 'Обратный звонок'; //Загаловок сообщения $message = ' <html> <head> <title>'.$subject.'</title> </head> <body> <p>Имя: '.$_POST['name'].'</p> <p>Телефон: '.$_POST['phone'].'</p> </body> </html>'; //Текст нащего сообщения можно использовать HTML теги $headers = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма $headers .= "From: Отправитель <from@example.com>\r\n"; //Наименование и почта отправителя mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail } ?> Код (PHP): <script type="text/javascript"> $(document).ready(function(){ $("#contact_form").submit(function() { //устанавливаем событие отправки для формы с id=form var form_data = $(this).serialize(); //собераем все данные из формы $.ajax({ type: "POST", //Метод отправки url: "send.php", //путь до php фаила отправителя data: form_data, success: function() { //код в этом блоке выполняется при успешной отправке сообщения alert("Ваше сообщение отпрвлено!"); }); }); }); </script> Как это все связать чтобы работало и пользователь вводил имя, емейл, телефон и сообщение. PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
начни тогда с проверки данных самой формы, потому как, там не указан способ передачи - GET или POST ($;
Код (Text): <form method="post" action="send.php" name="contact_form" id="contact_form" class="form-widget"> Так? Добавлено спустя 49 секунд: Помогите с формой, я оплачу работу, скажем 5 долларов?
Ребята, за 35 долларов я сам сяду, потрачу день, а у нас мало кто за день 35 долларов получает, и найду решение проблемы.
Вот ещё вариант Код (PHP): <?php header('Content-Type: text/html; charset=utf-8'); if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ( empty($_POST['name']) ) { exit('Имя нужно заполнить'); } else if(empty($_POST['email_address']) || !filter_var($_POST['email_address'], FILTER_VALIDATE_EMAIL)) { exit('Email содержит ошибки.'); } else if (empty($_POST['subject'])) { exit('Телефон нужно указать.'); } else if (empty($_POST['msg'])) { exit('Телефон нужно указать.'); } else { //Проверка отправилось ли наше поля name и не пустые ли они $to = 'i@example.com'; //Почта получателя, через запятую можно указать сколько угодно адресов $subject = 'Обратный звонок'; //Загаловок сообщения $message = ' <html> <head> <title>'.$subject.'</title> </head> <body> <p>Имя: '.$_POST['name'].'</p> <p>Телефон: '.$_POST['subject'].'</p> <p>'.$_POST['msg'].'</p> </body> </html>'; //Текст нащего сообщения можно использовать HTML теги $headers = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма $headers .= "From: PHP.RU <".$_POST['email_address'].">\r\n"; //Наименование и почта отправителя //Отправка письма с помощью функции mail if(mail($to, $subject, $message, $headers)) { exit('Возможно письмо отправлено.'); } else { exit('Ошибка при отправке письма.'); } } exit('Ошибка.'); } ?> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <form action="m.php" method="POST" name="contact_form" id="contact_form" class="form-widget"> <input type="text" placeholder="Ваше имя" id="name" name="name" class="validate[required]" data-prompt-position="topLeft:0"> <input type="text" placeholder="Ваш e-mail" id="email_address" name="email_address" class="validate[required,custom[email]]" data-prompt-position="topLeft:0"> <input type="text" placeholder="Телефон" id="subject" name="subject" class="validate[required] no-margin-right" data-prompt-position="topLeft:0"> <textarea placeholder="Текст сообщения" id="msg" name="msg" class="validate[required]" data-prompt-position="topLeft:0"></textarea> <input type="submit" class="btn btn-medium btn-dark btn-square" value="Отправить"> </form> <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script> <script type="text/javascript"> $("#contact_form").submit(function() { //устанавливаем событие отправки для формы с id=form var form_data = $(this).serialize(); //собераем все данные из формы $.ajax({ type: "POST", //Метод отправки url: "m.php", //путь до php фаила отправителя data: form_data, success: function(data) { //код в этом блоке выполняется при успешной отправке сообщения alert(data); } }); event.preventDefault(); }); </script> </body> </html>
Парни, у меня тоже проблемка, не знаю куда прописать email, чтобы мне инфа из формы приходила, может еще какие настройки нужны, подскажите, спасибо. Код (PHP): <?php //Referals script start $debug=0; if ($debug){ $lf=fopen(dirname(__FILE__).'/'.'debug.log','a'); function writelog($s) { global $lf,$debug; if ($debug) fputs($lf,"$s\n"); } $t=date('Y-m-d H:i:s'); $utm='нет'; $term='нет'; $ip=$_SERVER['REMOTE_ADDR']; $utmdata=''; writelog("Session started (zakaz.php) at '$t', IP='$ip'"); writelog("REQUEST: ".print_r($_REQUEST,true)); if (isset($_COOKIE['utmdata'])) { writelog("Found saved cookie UTMdata"); $utmdataexp=explode('&',$_COOKIE['utmdata']); if (count($utmdataexp)>=2 && !empty($utmdataexp[0]) && !empty($utmdataexp[1])) { $t=$utmdataexp[0]; $utm=$utmdataexp[1]; $term=isset($utmdataexp[2]) ? $utmdataexp[2] : 'нет'; $utmdata=$t.'&'.$utm.'&'.$term; } } writelog("UTMdata is '$utmdata'"); } //Referals script end $act = isset($_REQUEST['act']) ? $_REQUEST['act'] : die('error'); $params = isset($_REQUEST['json']) ? json_decode($_REQUEST['json'], true) : array(); $jsonBox = array(); $error = array(); $info = array(); $exemple = array(); $form = array(); $host = $_SERVER['HTTP_HOST']; $ref = $_SERVER['HTTP_REFERER']; $model = $_REQUEST['model']; $form['form-1'] = array( 'fields' => array( 'name' => array( 'title' => 'Имя', 'validate' => array( 'preg' => '%[A-Z-a-zА-Яа-я\s]%', 'minlength' => '3', 'maxlength' => '35', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', 'maxlength' => 'Максимальная длинна поля [ %1$s ] превышает допустимую - %2$s', ) ), 'tell' => array( 'title' => 'Телефон', 'validate' => array( 'preg' => "/^((8|\+)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{5,10}$/", 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), 'e-mail' => array( 'title' => 'E-mail', 'validate' => array( 'preg' => '%@%is', 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), ), 'cfg' => array( 'charset' => 'utf-8', 'subject' => 'Заказ обратного звонка', 'title' => 'Заказ обратного звонка', 'ajax' => true, 'validate' => true, 'from_email' => 'support@ipro2.ru', 'from_name' => 'VideoNablyudenie', 'to_email' => 'support@ipro2.ru', 'to_name' => 'VideoNablyudenie', 'geoip' => true, 'referer' => true, 'type' => 'html', 'tpl' => true, 'antispam' => 'email77', 'antispamjs' => 'address77', 'okay' => '<div class="ab">ВАШЕ СООБЩЕНИЕ ОТПРАВЛЕНО!</div><div class="os">Наш специалист свяжется с вами в ближайшее время.</div>', 'fuck' => 'Сообщение отправлено - ERROR', 'spam' => 'Cпам робот', 'notify' => 'color-modal', 'usepresuf' => false ) ); $form['form-2'] = array( 'fields' => array( 'tell' => array( 'title' => 'Телефон', 'validate' => array( 'preg' => "/^((8|\+)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{5,10}$/", 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), 'e-mail' => array( 'title' => 'E-mail', 'validate' => array( 'preg' => '%@%is', 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), 'text' => array( 'title' => 'Сообщение', ), ), 'cfg' => array( 'charset' => 'utf-8', 'subject' => 'Вопрос специалисту', 'title' => 'Вопрос специалисту', 'ajax' => true, 'validate' => true, 'from_email' => 'support@ipro2.ru', 'from_name' => 'VideoNablyudenie', 'to_email' => 'support@ipro2.ru', 'to_name' => 'VideoNablyudenie', 'geoip' => true, 'referer' => true, 'type' => 'html', 'tpl' => true, 'antispam' => 'email77', 'antispamjs' => 'address77', 'okay' => '<div class="ab">ВАШЕ СООБЩЕНИЕ ОТПРАВЛЕНО!</div><div class="os">Наш специалист свяжется с вами в ближайшее время.</div>', 'fuck' => 'Сообщение отправлено - ERROR', 'spam' => 'Cпам робот', 'notify' => 'color-modal', 'usepresuf' => false ) ); $form['form-3'] = array( 'fields' => array( 'text' => array( 'title' => 'Сообщение', ), 'name' => array( 'title' => 'Имя', 'validate' => array( 'preg' => '%[A-Z-a-zА-Яа-я\s]%', 'minlength' => '3', 'maxlength' => '35', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', 'maxlength' => 'Максимальная длинна поля [ %1$s ] превышает допустимую - %2$s', ) ), 'tell' => array( 'title' => 'Телефон', 'validate' => array( 'preg' => "/^((8|\+)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{5,10}$/", 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), ), 'cfg' => array( 'charset' => 'utf-8', 'subject' => 'Замер потолка', 'title' => 'Замер потолка', 'ajax' => true, 'validate' => true, 'from_email' => 'support@ipro2.ru', 'from_name' => 'VideoNablyudenie', 'to_email' => 'support@ipro2.ru', 'to_name' => 'VideoNablyudenie', 'geoip' => true, 'referer' => true, 'type' => 'html', 'tpl' => true, 'antispam' => 'email77', 'antispamjs' => 'address77', 'okay' => '<div class="ab">ЗАЯВКА НА ЗАМЕР ПОТОЛКА ОТПРАВЛЕНА!</div><div class="os">Наш специалист свяжется с вами в ближайшее время.</div>', 'fuck' => 'Сообщение отправлено - ERROR', 'spam' => 'Cпам робот', 'notify' => 'color-modal', 'usepresuf' => false ) ); $form['form-4'] = array( 'fields' => array( 'name' => array( 'title' => 'Имя', 'validate' => array( 'preg' => '%[A-Z-a-zА-Яа-я\s]%', 'minlength' => '3', 'maxlength' => '35', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', 'maxlength' => 'Максимальная длинна поля [ %1$s ] превышает допустимую - %2$s', ) ), 'tell' => array( 'title' => 'Телефон', 'validate' => array( 'preg' => "/^((8|\+)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{5,10}$/", 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), 'e-mail' => array( 'title' => 'E-mail', 'validate' => array( 'preg' => '%@%is', 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), ), 'cfg' => array( 'charset' => 'utf-8', 'subject' => 'Заказ установки потолка', 'title' => 'Заказ установки потолка во всей квартире', 'ajax' => true, 'validate' => true, 'from_email' => 'support@ipro2.ru', 'from_name' => 'VideoNablyudenie', 'to_email' => 'support@ipro2.ru', 'to_name' => 'VideoNablyudenie', 'geoip' => true, 'referer' => true, 'type' => 'html', 'tpl' => true, 'antispam' => 'email77', 'antispamjs' => 'address77', 'okay' => '<div class="ab">ЗАЯВКА НА УСТАНОВКУ ПОТОЛКА ОТПРАВЛЕНА!</div><div class="os">Наш специалист свяжется с вами в ближайшее время.</div>', 'fuck' => 'Сообщение отправлено - ERROR', 'spam' => 'Cпам робот', 'notify' => 'color-modal', 'usepresuf' => false ) ); $form['form-5'] = array( 'fields' => array( 'text' => array( 'title' => 'Сообщение', ), 'text2' => array( 'title' => 'Сообщение', ), 'text3' => array( 'title' => 'Сообщение', ), 'select' => array( 'title' => 'Select', ), 'name' => array( 'title' => 'Имя', 'validate' => array( 'preg' => '%[A-Z-a-zА-Яа-я\s]%', 'minlength' => '3', 'maxlength' => '35', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', 'maxlength' => 'Максимальная длинна поля [ %1$s ] превышает допустимую - %2$s', ) ), 'tell' => array( 'title' => 'Телефон', 'validate' => array( 'preg' => "/^((8|\+)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{5,10}$/", 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), 'e-mail' => array( 'title' => 'E-mail', 'validate' => array( 'preg' => '%@%is', 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), ), 'cfg' => array( 'charset' => 'utf-8', 'subject' => 'Заказ расчета стоимости', 'title' => 'Заказ расчета стоимости', 'ajax' => true, 'validate' => true, 'from_email' => 'support@ipro2.ru', 'from_name' => 'VideoNablyudenie', 'to_email' => 'support@ipro2.ru', 'to_name' => 'VideoNablyudenie', 'geoip' => true, 'referer' => true, 'type' => 'html', 'tpl' => true, 'antispam' => 'email77', 'antispamjs' => 'address77', 'okay' => '<div class="ab">ЗАЯВКА НА РАСЧЕТ СТОИМОСТИ ОТПРАВЛЕНА!</div><div class="os">Вам на почту будет отправлен<br>примерный расчет стоимости вашего потолка.</div>', 'fuck' => 'Сообщение отправлено - ERROR', 'spam' => 'Cпам робот', 'notify' => 'color-modal', 'usepresuf' => false ) ); $form['form-6'] = array( 'fields' => array( 'name' => array( 'title' => 'Имя', 'validate' => array( 'preg' => '%[A-Z-a-zА-Яа-я\s]%', 'minlength' => '3', 'maxlength' => '35', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', 'maxlength' => 'Максимальная длинна поля [ %1$s ] превышает допустимую - %2$s', ) ), 'tell' => array( 'title' => 'Телефон', 'validate' => array( 'preg' => "/^((8|\+)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{5,10}$/", 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), 'e-mail' => array( 'title' => 'E-mail', 'validate' => array( 'preg' => '%@%is', 'minlength' => '5', ), 'messages' => array( 'preg' => 'Поле [ %1$s ] возможно содержит ошибку', 'minlength' => 'Минимальная длинна поля [ %1$s ] меньше допустимой - %2$s', ) ), ), 'cfg' => array( 'charset' => 'utf-8', 'subject' => 'Заказ установки потолка', 'title' => 'Заказ установки потолка по акции', 'ajax' => true, 'validate' => true, 'from_email' => 'support@ipro2.ru', 'from_name' => 'VideoNablyudenie', 'to_email' => 'support@ipro2.ru', 'to_name' => 'VideoNablyudenie', 'geoip' => true, 'referer' => true, 'type' => 'html', 'tpl' => true, 'antispam' => 'email77', 'antispamjs' => 'address77', 'okay' => '<div class="ab">ЗАЯВКА НА УСТАНОВКУ ПОТОЛКА ОТПРАВЛЕНА!</div><div class="os">Наш специалист свяжется с вами в ближайшее время.</div>', 'fuck' => 'Сообщение отправлено - ERROR', 'spam' => 'Cпам робот', 'notify' => 'color-modal', 'usepresuf' => false ) ); /*--------------------------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------------*/ /*НИЖЕ НИЧЕГО НЕ МЕНЯТЬ БЕЗ ОПРЕДЕЛЕННЫХ НАВЫКОВ И ЗНАНИЙ!!!!!!*/ /*--------------------------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------------*/ if($act == 'cfg') { $jsonBox['configs'] = ExportConfigs($form); die(json_encode($jsonBox)); } function ExportConfigs($form) { $need = array('antispam','antispamjs','notify'); $conf = array(); foreach($form as $name => $data) { foreach($data['cfg'] as $k => $cfg) { if(in_array($k, $need)) { $conf[$name]['cfg'][$k] = $cfg; } } } return $conf; } if(isset($form[$act])) { $form = $form[$act]; $getdata = array(); $sb = array(); // subject и body foreach($form['fields'] as $name => $field) { $title = (isset($field['title'])) ? $field['title'] : $name; $getdata[$name]['title'] = $title; $rawdata = isset($_POST[$name]) ? trim($_POST[$name]) : ''; if(isset($field['validate'])) { $def = 'Поле с именем [ '.$name.' ] содержит ошибку.'; // -0- if(isset($field['validate']['required']) && empty($rawdata)) { $error[$name] = isset($field['messages']['required']) ? sprintf($field['messages']['required'], $title) : (isset($messages['validator']['required']) ? sprintf($messages['validator']['required'], $title) : $def); } // -1- if(isset($field['validate']['minlength']) && mb_strlen($rawdata) < $field['validate']['minlength']) { $error[$name] = isset($field['messages']['minlength']) ? sprintf($field['messages']['minlength'], $title, $field['validate']['minlength']) : $def; } // -2- if(isset($field['validate']['maxlength']) && mb_strlen($rawdata) > $field['validate']['maxlength']) { $error[$name] = isset($field['messages']['maxlength']) ? sprintf($field['messages']['maxlength'], $title, $field['validate']['maxlength']) : $def; } // -3- if(isset($field['validate']['preg']) && mb_strlen($rawdata) > 0 && !preg_match($field['validate']['preg'], $rawdata)) { $error[$name] = isset($field['messages']['preg']) ? sprintf($field['messages']['preg'], $title, $field['validate']['preg']) : $def; } // -4- if(isset($field['validate']['substr']) && mb_strlen($rawdata) > $field['validate']['substr']) { $rawdata = mb_substr($rawdata, 0, $field['validate']['substr']); } $outdata = htmlspecialchars($rawdata); $getdata[$name]['value'] = $outdata; } else { $getdata[$name]['value'] = htmlspecialchars($rawdata); } if(empty($getdata[$name]['value'])) { unset($getdata[$name]); } } //foreach end $getdata['utm']['title'] = 'Сайт-источник'; $getdata['utm']['value'] = $utm; $getdata['term']['title'] = 'Ключевая фраза'; $getdata['term']['value'] = $term; //eugeny edit $getdata['model']['title'] = 'Модель'; $getdata['model']['value'] = $model; //\eugeny edit if(isset($form['cfg']['antispam']) && isset($_POST[$form['cfg']['antispam']])) { if(!empty($_POST[$form['cfg']['antispam']])) { $error[] = $form['cfg']['spam']; } } if(isset($form['cfg']['antispamjs']) && isset($_POST[$form['cfg']['antispamjs']])) { if(!empty($_POST[$form['cfg']['antispamjs']])) { $error[] = $form['cfg']['spam']; } } if(count($error) == 0) { if(function_exists("mb_internal_encoding")) mb_internal_encoding($form['cfg']['charset']); $get_fromName = (isset($form['fields'][$form['cfg']['from_name']]) && isset($getdata[$form['cfg']['from_name']]['value']) && mb_strlen($getdata[$form['cfg']['from_name']]['value']) > 2) ? $getdata[$form['cfg']['from_name']]['value'] : ((mb_strlen($form['cfg']['from_name']) > 2 && !isset($_POST[$form['cfg']['from_name']])) ? $form['cfg']['from_name'] : 'Anonymous'); $get_fromEmail = (isset($form['fields'][$form['cfg']['from_email']]) && isset($getdata[$form['cfg']['from_email']]['value']) && mb_strpos('@', $getdata[$form['cfg']['from_email']]['value']) === false) ? $getdata[$form['cfg']['from_email']]['value'] : ((mb_strpos('@', $form['cfg']['from_email']) !== false) ? $form['cfg']['from_email'] : 'no-reply@'.$host); $fromName = (function_exists("mb_encode_mimeheader")) ? mb_encode_mimeheader($get_fromName, $form['cfg']['charset'], "Q") : $get_fromName; $sb['subject'] = (function_exists("mb_encode_mimeheader")) ? mb_encode_mimeheader($form['cfg']['subject'], $form['cfg']['charset'], "Q") : $form['cfg']['subject']; $toName = trim($form['cfg']['to_name'], " ,"); $toEmail = trim($form['cfg']['to_email'], " , "); if(strpos($toName, ",") !== false) { $exp_toName = explode(",", $toName); $c = count($exp_toName); for($i=0; $i<$c; $i++) { $exp_toName[$i] = (function_exists("mb_encode_mimeheader")) ? mb_encode_mimeheader(trim($exp_toName[$i]), $form['cfg']['charset'], "Q") : trim($exp_toName[$i]); } } else { $toName = (function_exists("mb_encode_mimeheader")) ? mb_encode_mimeheader($toName, $form['cfg']['charset'], "Q") : $toName; } if(strpos($toEmail, ",") !== false) { $exp_toEmail = explode(",", $toEmail); } $To = 'bnv@oxpana.tv'; if(isset($exp_toEmail)) { $c = count($exp_toEmail); for($i=0; $i < $c; $i++) { $To .= ((isset($exp_toName) && isset($exp_toName[$i])) ? $exp_toName[$i] : $toName) . " <".trim($exp_toEmail[$i]).">"; if($i < ($c-1)) $To .= ", "; } } else { $To = ((isset($exp_toName) && isset($exp_toName[0])) ? $exp_toName[0] : $toName)." <".$toEmail.">"; } $headers = "Return-Path: <".$get_fromEmail.">\r\n"; $headers .= "From: ".$fromName." <".$get_fromEmail.">\r\n"; $headers .= "X-Mailer: Feedback, v0.3 (http://artuelle.com)\r\n"; $headers .= "X-Priority: 3\r\n"; $headers .= "Reply-To: ".$fromName." <".$get_fromEmail.">\r\n"; //$headers .= "To: ".$To."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/" . $form['cfg']['type'] . "; charset=\"" . $form['cfg']['charset'] . "\"\r\n"; $headers .= "Content-Transfer-Encoding: 8bit\r\n"; $sb['body'] = ""; // парсим шаблон if($form['cfg']['tpl']) { $out = tpl(array('name' => $act, 'getdata' => $getdata, 'cfg' => $form['cfg'])); if(is_string($out)) { $sb['body'] = $out; } } // или отдаем голый текст if(mb_strlen(trim($sb['body'])) < 10) { if(isset($form['cfg']['title'])) $sb['body'] .= $form['cfg']['title']."\r\n\r\n"; foreach($getdata as $name => $data) { $sb['body'] .= $data['title'].": ".$data['value']."\r\n"; } if($form['cfg']['referer']) $sb['body'] .= "\r\n\r\n\r\n\r\n".$ref; } // если есть что добавить if(isset($form['cfg']['adds']) && is_array($form['cfg']['adds'])) { $sb = adds($sb); } //$sb['body'].="\nСайт-источник: $utm\nКлючевая фраза: $term\n"; //отправка письма //mail('literator73@yandex.ru, 9229236@inbox.ru', $sb['subject'], $sb['body'], $headers); $mail = mail($to, $sb['subject'], $sb['body'], $headers); $sb['body'] .= "<p>Имя: {$_REQUEST["name"]}</p>"; $sb['body'] .= "<p>Телефон: {$_REQUEST["tell"]}</p>"; $sb['body'] .= "<p>platform: {$_COOKIE["platform"]}</p>"; $sb['body'] .= "<p>num: {$_COOKIE["num"]}</p>"; $sb['body'] .= "<p>ip: {$_COOKIE["ip"]}</p>"; $sb['body'] .= "<p>conversion: заявка</p>"; if($mail) { $jsonBox['ok'] = 1; $info[] = $form['cfg']['okay']; //setcookie("limit", "1", time() + $form['cfg']['limit']); } else { $info[] = $form['cfg']['fuck']; } } } else { $error[] = 'Нет настроек формы с именем #'.$act; } if(count($error) > 0) { $jsonBox['errors'] = $error; } if(count($info) > 0) { $jsonBox['infos'] = $info; } die(json_encode($jsonBox)); //мертвые с косами /* добавляет любые доп данные из вне в нужное место * (например в заголовок письма необходимо дабавить Ник юзера или Номер заказа ) * * */ function adds($vars) { global $form; $adds = $form['cfg']['adds']; foreach($adds as $key => $opts) { if(is_string($key)) { $one = array(); $two = array(); foreach($opts as $i => $val) { if(isset($_POST[$val])) { $one[] = '%%'.$val.'%%'; $two[] = $_POST[$val]; } } $vars[$key] = str_replace($one, $two, $vars[$key]); } } return $vars; } /* * парсер шаблона */ function tpl($vars) { $tpl = 'tpl/'.$vars['name'].'.tpl'; if(file_exists($tpl)) { $template = file_get_contents($tpl); foreach($vars['getdata'] as $name => $data) { $template = str_replace(array("%%".$name.".title%%", "%%".$name.".value%%"), array($data['title'], $data['value']), $template); } return $template; } else { return false; } } PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]