Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нужна помощь в отправлении данных с калькулятора на почту

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
steb
Отправлено: 29 Июля, 2015 - 17:03:36
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Добрый день, У меня проблемка, делаю редизайн сайта, и на старом сайте есть калькулятор окон, и мне его нужно просто перенести на новый сайт, как я понимаю все данные собираются скриптом и потом аяксом передаются в php и отправляются на почту, но уже когда перенес отправка на почту не работает.
Вот ссылка на сам калькулятор http://new[dot]veka[dot]od[dot]ua/calculator/

это часть которая передает данные в php
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function mailCart() {
  3.                         /*$( this ).dialog( "close" );*/
  4.                         //_gaq.push(['_trackEvent', 'Калькулятор', 'Заявка', false]);
  5.                         //yaCounter22280557.reachGoal('calc');
  6.                        
  7.                         var person = $('#calculator-form').serialize();
  8.                        
  9.                         var letter = cartAsMail();
  10.                        
  11.                         $.post(
  12.                                 '/wp-content/themes/veka/plugins/forms/calculator_form.php',
  13.                                 {letter:letter, person:person}
  14.                         )
  15.                         .done(function(data) {                 
  16.                                 alert('Заказ отправлен. Менеджер перезвонит вам после получения заказа.');
  17.                                 $.fancybox.close();
  18.                         });
  19.                 }
  20.                
  21.                 function cartAsMail() {
  22.                         var letter = '';
  23.                         var nl = "\n";
  24.                                                
  25.                         var iter = 0;
  26.                        
  27.                         $('#window-cart-list ul:first li').each( function( index, el ) {
  28.                                 var obj = $(el).find('.info-object');
  29.                                
  30.                                 iter++;
  31.                                
  32.                                 var windowType = parseInt( obj.attr('window-type') ); // тип окна
  33.                                 var profile = obj.attr('profile'); // название профиля
  34.                                
  35.                                 var shum = obj.attr('shum'); // тип стеклопакета
  36.                                 var light = obj.attr('light'); // тип стеклопакета
  37.                                 var sizeAttr = obj.attr('size'); //ШхВ
  38.                                 var sill = obj.attr('sill'); // подоконник
  39.                                 var reflux = obj.attr('reflux'); // отлив      
  40.                                
  41.                                 var moskit = obj.attr('moskit'); // москитка
  42.                                 var construct = obj.attr('construct'); // установка    
  43.                                
  44.                                 var item = '';
  45.                                  item += iter+' окно'+nl
  46.                                                 +'Тип окна: '+windowType+nl
  47.                                                 +'Профиль: '+profile+nl
  48.                                                 +'Размер окна: '+sizeAttr+nl
  49.                                                 +'Шумная сторона: '+(shum?'Да':'Нет или не указано')+nl
  50.                                                 +'Солнечная сторона: '+jQuery.trim(light)+nl
  51.                                                 +'Подоконник: '+sill+nl
  52.                                                 +'Отлив: '+reflux+nl
  53.                                                 +moskit+nl
  54.                                                 +construct+nl;
  55.                                
  56.                                 letter += item+nl;
  57.                                
  58.                         } );
  59.                        
  60.                         return letter;
  61.                 }


Судя по ссылке скрипт передает переменную с данными файлу calculator_form.php, в котором формируется письмо и отправляется:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. //error_reporting( ~E_ALL );
  5.  
  6. header('Content-Type: text/html; charset=utf-8');
  7.  
  8. if ( sizeof($_POST) ) {
  9.  
  10.         require_once( '../../../../../wp-load.php' );
  11.  
  12.         require_once 'phpmail.php';
  13.        
  14.         $emails = get_field('contacts_mail', 'option');
  15.         $eList = array();
  16.         foreach( $emails as $mail ) {
  17.                 $eList[] = $mail['email'];             
  18.         }
  19.        
  20.         $send_mail = new Send_mail();
  21.        
  22.         parse_str($_POST['person'], $person);
  23.        
  24.         $message = "Калькулятор\nИмя: ".htmlspecialchars($person['name'])."\nТелефон: ".htmlspecialchars($person['phone'])."\nEmail: ".htmlspecialchars($person['email'])."\nВремя: ".htmlspecialchars($_POST['time'])."\nПараметр: ".htmlspecialchars($_GET['source'])."\nСтраница: ".$_SERVER['HTTP_REFERER']."\n----\n".$_POST['letter'];
  25.        
  26.         if ( !empty($eList) ) {
  27.                 $send_mail->email( $eList )  // Адресат (можно массив адресов)
  28.                                   ->from_name('VEKA')  // Имя отправителя
  29.                                   ->from_mail('noreply@veka.od.ua')   // Адрес отправителя
  30.                                   ->subject('VEKA Калькулятор')  // Тема сообщения
  31.                                   ->message($message) // Тело сообщения
  32.                                   ->charset('utf-8') // Кодировка (по умолчанию utf-8)
  33.                                   ->send(); // Отправка почты  
  34.         }
  35.        
  36.     die();
  37. }
  38.  
  39. ?>     


Не могу понять что я пропустил, и вроде в теории должно работать, для знающего человека это будет не сложно, а я пару дней над этим бьюсь.

Буду благодарен за помощь. Да и сайт на wordpress, если что)
 
 Top
Tyoma5891
Отправлено: 29 Июля, 2015 - 17:44:12
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




steb пишет:
делаю редизайн сайта

скорее всего Вы поменяли какой класс или айди или атрибуты инпутов в которые вводятся данные для рассчета калькулятора, подозреваю что-то из этого
window-cart-list, info-object, window-type ну и всех остальных параметров
 
 Top
difight
Отправлено: 29 Июля, 2015 - 17:47:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




http://new[dot]veka[dot]od[dot]ua/wp-content[dot][dot][dot]lculator-init[dot]js
513 строка
думаю должно быть так:
CODE (javascript):
скопировать код в буфер обмена
  1. if ( $(this).valid() ) {
  2.                                 mailCart();
  3.                         }

В логах фаербага же легко отслеживается где ошибка, почему у вас проблема возникла не понятно..
 
My status
 Top
steb
Отправлено: 30 Июля, 2015 - 15:03:55
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Спасибо, за помощь кто откликнулся, нашел ошибки и все получилось!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB