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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Данные хронятся в переменных скрипта
NeuroZ
Отправлено: 23 Июля, 2012 - 15:19:39
Post Id



Посетитель


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


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




Как отправить данные формы на почту? если данные хронятся в переменных скрипта.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $j(document).ready(function(){
  2.   $j("#sendToMail").click(function(){
  3.       var email = $j("#email_field").val();                                    
  4.       var first_name = $j("#first_name_field").val();                                  
  5.       var last_name = $j("#last_name_field").val()
  6.       var input_phone_1 = $j("#input_phone_1_field").val();
  7.       var company = $j("#company").val();
  8.       var vm_jobtitle = $j("#vm_jobtitle_field").val();
  9.       var address_1 = $j("#address_1_field").val();
  10.       var city = $j("#city_field").val();
  11.       var state = $j("#state").val();
  12.       var zip = $j("#zip_field").val();
  13.       var country = $j("#country_field").val();
  14.       var m_websiteifany = $j("#m_websiteifany_field").val();
  15.       var vm_briefdescriptionofbusiness = $j("#vm_briefdescriptionofbusiness_field").val();
  16.      
  17.       $j("#complete").html("Thank you for completed registration form");
  18.   });
  19. });
 
 Top
Toxa
Отправлено: 23 Июля, 2012 - 15:46:06
Post Id



Посетитель


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


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

[+]


средствами javascript - никак, юзайте аякс


-----
Удобный сервис для хранения файлов
 
 Top
NeuroZ
Отправлено: 23 Июля, 2012 - 15:51:03
Post Id



Посетитель


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


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




Toxa пишет:
средствами javascript - никак, юзайте аякс

Капитан очевидность.

Есть конкретные советы?
 
 Top
Toxa
Отправлено: 23 Июля, 2012 - 15:58:55
Post Id



Посетитель


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


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

[+]


конкретный совет - передать аяксом данные в php скрипт и оттуда вызвать mail()


-----
Удобный сервис для хранения файлов
 
 Top
NeuroZ
Отправлено: 23 Июля, 2012 - 16:02:33
Post Id



Посетитель


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


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




Ок, а как это сделать? Если используешь joomla. Как указать конкретный файл со скриптом?
Если юзать так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $j.ajax({
  2.             type: "POST",
  3.             url: 'my.php',
  4.             data: "name=Name&location=true",
  5.            error: function(){
  6.                alert ('error');
  7.             },
  8.             success: function(){
  9.                 alert ('success');
  10.             }
  11.       });

всегда error выдает

(Отредактировано автором: 23 Июля, 2012 - 16:03:54)

 
 Top
Hawkmoth
Отправлено: 23 Июля, 2012 - 16:05:36
Post Id


Посетитель


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


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




Если громоздко и пользуясь тем, что Вы написали - то как-то так
CODE (javascript):
скопировать код в буфер обмена
  1. $.post('script.php','{email:email, first_name:first_name, last_name:last_name, ... }', success, 'json');
  2. function success(data) {
  3.   alert(data);
  4. }


в скрипте-обработчике посылаем письмо, используя полученные данные ($_POST).
 
 Top
NeuroZ
Отправлено: 23 Июля, 2012 - 16:18:27
Post Id



Посетитель


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


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




Попробую сейчас... Но опять же думаю проблема в указании необходимого мне скрипта.пхп - мб джумла как-то защищает этот файл и не дает прямиком к нему обратиться...
(Добавление)
А я могу функцию отправки написать в этом же файле, где и скрипт написан, и вызывать файл не по имени а просто через решетку ? # ?

function success - что должно быть вместо data ?
 
 Top
Hawkmoth
Отправлено: 23 Июля, 2012 - 16:40:15
Post Id


Посетитель


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


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




NeuroZ пишет:
А я могу функцию отправки написать в этом же файле, где и скрипт написан

да
NeuroZ пишет:
и вызывать файл не по имени а просто через решетку ? # ?

Не думаю, что такая конструкция сработает. А зачем Вам именно через #? имя скрипта Вы знаете, вот и напишите его.
NeuroZ пишет:
function success - что должно быть вместо data ?

в том варианте функции, что я дал - данные в формате json, отправленные сервером.
Но можно указать так
CODE (javascript):
скопировать код в буфер обмена
  1. $.post('script.php','{email:email, first_name:first_name, ... }', success, 'text');

и браузер будет ждать обычных текстовых данных, например 'Сообщение отправлено!' или 'Произошла ошибка!'
(Добавление)
Но в этом случае Вы рискуете повторной отправкой данных, обычно после отправления формы делают редирект.

(Отредактировано автором: 23 Июля, 2012 - 16:50:58)

 
 Top
NeuroZ
Отправлено: 23 Июля, 2012 - 16:54:27
Post Id



Посетитель


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


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




Ок, и последние 2 нубских вопроса для полного счастья:
1. Как наш пхп поймет что сейчас самое время выполнить мою функцию?
2. text - мы прямо пишем наш текст третьим параметром? (т.е. вместе text - Thank you for completed form)
Вот код ф-ии на всякий случай:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. function clientaccount()
  3.    {      
  4.        $email_field                                       = $_POST['email'];
  5.        $first_name_field                                    = $_POST['first_name'];
  6.        $last_name_field                                    = $_POST['last_name'];
  7.        $input_phone_1_field                                = $_POST['phone_1'];
  8.        $company                                            = $_POST['company'];
  9.        $vm_jobtitle_field                                    = $_POST['vm_jobtitle'];
  10.        $address_1_field                                    = $_POST['address_1'];
  11.        $city_field                                            = $_POST['city'];
  12.        $state                                                = $_POST['state'];
  13.        $zip_field                                            = $_POST['zip'];
  14.        $country_field                                      = $_POST['country'];
  15.        $vm_websiteifany_field                                = $_POST['vm_websiteifany'];
  16.        $vm_briefdescriptionofbusiness_field                = $_POST['vm_briefdescriptionofbusiness'];
  17.        
  18.        // Prepare email body
  19.        $subject      = "A new signup from ". $company;
  20.        $body         = "A new signup from  " . $company . " and contains the following data:\r\n\r\n";
  21.        $body       .= "First Name: " . $first_name_field . "\r\n\r\n";
  22.        $body       .= "Last Name: " . $last_name_field . "\r\n\r\n";
  23.        $body       .= "Phone: " . $input_phone_1_field . "\r\n\r\n";
  24.        $body         .= "Business Name: " . $company . "\r\n\r\n";
  25.        $body       .= "Job Title: " . $vm_jobtitle_field . "\r\n\r\n";
  26.        $body         .= "Address: " . $address_1_field . "\r\n\r\n";
  27.        $body         .= "City: " . $city_field . "\r\n\r\n";
  28.        $body       .= "State: " . $state . "\r\n\r\n";
  29.        $body         .= "Zip Code: " . $zip_field . "\r\n\r\n";        
  30.        $body         .= "Country: " . $country_field . "\r\n\r\n";
  31.        $body         .= "Email: " . $email_field . "\r\n\r\n";
  32.        $body         .= "Brief Description of Business: " . $vm_briefdescriptionofbusiness_field . "\r\n\r\n";
  33.        $body         .= "Website (if any): " . $vm_websiteifany_field . "\r\n\r\n";
  34.        
  35.        
  36.        echo JUtility::sendMail($input_email, $input_business_name, "email@email.ru", $subject, $body);
  37.  
  38.        
  39.    }?>

(Отредактировано автором: 23 Июля, 2012 - 16:54:52)

 
 Top
Hawkmoth
Отправлено: 23 Июля, 2012 - 17:24:32
Post Id


Посетитель


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


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




А зачем Вы обработку данных в функцию загнали?

NeuroZ пишет:
А я могу функцию отправки написать в этом же файле, где и скрипт написан

Еще раз прочитал Ваш вопрос и вот пытаюсь представить, как это будет выглядеть в случае ajax-запроса. Логичнее и проще сделать отдельный маленький скрипт, который будет принимать $_POST-данные, что-то с ними делать (в Вашем случае - отсылать письмо) и отправлять ответ серверу.
NeuroZ пишет:
text - мы прямо пишем наш текст третьим параметром? (т.е. вместе text - Thank you for completed form)

нет, мы пишем именно так, как я написал - 'text'. Это означает, что клиент ждет от нас строковых данных, которые в обрабатывающем скрипте можно отослать, например, обычным echo().
(Добавление)
Гм... все-таки попытался представить:
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['bla_bla_bla']) && !empty($_POST['bla_bla_bla']) {
  2.   //проверяем данные
  3.   //отправляем письмо
  4.   echo $code; //код, заменяющий форму на "Спасибо и бла-бла-бла"
  5. }
  6. else { //если данные не были отправлены
  7.   echo $other_code; //собственно, обычная страница
  8. }


ну а в success(data)
CODE (javascript):
скопировать код в буфер обмена
  1. $('#forma').html(data)

Ну, или как-то так.
Писал на салфетке, может, сейчас кто-то поправит.

(Отредактировано автором: 23 Июля, 2012 - 17:41:10)

 
 Top
NeuroZ
Отправлено: 23 Июля, 2012 - 18:22:04
Post Id



Посетитель


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


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




Блин (((( Ну хоть убейте - не пойму почему мой код не подает ни малейших признаков жизни
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. if (isset($_POST['email']) && !empty($_POST['email']))
  3. {
  4.        
  5.        $email_field                                       = $_POST['email'];
  6.        $first_name_field                                    = $_POST['first_name'];
  7.        $last_name_field                                    = $_POST['last_name'];
  8.        $input_phone_1_field                                = $_POST['phone_1'];
  9.        $company                                            = $_POST['company'];
  10.        $vm_jobtitle_field                                    = $_POST['vm_jobtitle'];
  11.        $address_1_field                                    = $_POST['address_1'];
  12.        $city_field                                            = $_POST['city'];
  13.        $state                                                = $_POST['state'];
  14.        $zip_field                                            = $_POST['zip'];
  15.        $country_field                                      = $_POST['country'];
  16.        $vm_websiteifany_field                                = $_POST['vm_websiteifany'];
  17.        $vm_briefdescriptionofbusiness_field                = $_POST['vm_briefdescriptionofbusiness'];      
  18.        
  19.        // Prepare email body
  20.        $subject      = "A new signup from ". $company;
  21.        $body         = "A new signup from  " . $company . " and contains the following data:\r\n\r\n";
  22.        $body       .= "First Name: " . $first_name_field . "\r\n\r\n";
  23.        $body       .= "Last Name: " . $last_name_field . "\r\n\r\n";
  24.        $body       .= "Phone: " . $input_phone_1_field . "\r\n\r\n";
  25.        $body         .= "Business Name: " . $company . "\r\n\r\n";
  26.        $body       .= "Job Title: " . $vm_jobtitle_field . "\r\n\r\n";
  27.        $body         .= "Address: " . $address_1_field . "\r\n\r\n";
  28.        $body         .= "City: " . $city_field . "\r\n\r\n";
  29.        $body       .= "State: " . $state . "\r\n\r\n";
  30.        $body         .= "Zip Code: " . $zip_field . "\r\n\r\n";        
  31.        $body         .= "Country: " . $country_field . "\r\n\r\n";
  32.        $body         .= "Email: " . $email_field . "\r\n\r\n";
  33.        $body         .= "Brief Description of Business: " . $vm_briefdescriptionofbusiness_field . "\r\n\r\n";
  34.        $body         .= "Website (if any): " . $vm_websiteifany_field . "\r\n\r\n";
  35.        
  36.        echo JUtility::sendMail($input_email, $input_business_name, "admin@unitmet.ru", $subject, $body);
  37.        echo $data = 'working';
  38. }
  39. ?>
  40. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  41. <script type="text/javascript">
  42. $j = jQuery.noConflict();
  43. $j(document).ready(function(){
  44.  $j("#sendToMail").click(function(){
  45.      var email = $j("#email_field").val();                                    
  46.      var first_name = $j("#first_name_field").val();                                  
  47.      var last_name = $j("#last_name_field").val()
  48.      var input_phone_1 = $j("#input_phone_1_field").val();
  49.      var company = $j("#company").val();
  50.      var vm_jobtitle = $j("#vm_jobtitle_field").val();
  51.      var address_1 = $j("#address_1_field").val();
  52.      var city = $j("#city_field").val();
  53.      var state = $j("#state").val();
  54.      var zip = $j("#zip_field").val();
  55.      var country = $j("#country_field").val();
  56.      var m_websiteifany = $j("#m_websiteifany_field").val();
  57.      var vm_briefdescriptionofbusiness = $j("#vm_briefdescriptionofbusiness_field").val();
  58.      
  59.      $j("#complete").html("Thank you for completed registration form");
  60.      
  61.      $j.post('default.php','{email:email, first_name:first_name, last_name:last_name }', success, 'json');
  62.      function success(data) {
  63.          alert(data);
  64.      }
  65.  });
  66. });
  67. </script>

Переменные внутри себя принимает - пробовал отдельным алертом выводить... А вот самой отправки не происходит ((((
 
 Top
LIME
Отправлено: 23 Июля, 2012 - 18:28:32
Post Id


Активный участник


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


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




NeuroZ пишет:
А вот самой отправки не происходит ((((
возможно не происходит приема
отладчиком в браузере пользовался? вкладка сеть
там можно посмотреть обмен по сети
 
 Top
NeuroZ
Отправлено: 23 Июля, 2012 - 18:32:14
Post Id



Посетитель


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


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




LIME пишет:
NeuroZ пишет:
А вот самой отправки не происходит ((((
возможно не происходит приема
отладчиком в браузере пользовался? вкладка сеть
там можно посмотреть обмен по сети

Так точно. Нет ответа. Пишет 404. Joomla блин (
(Добавление)
Во вкладке html выводит такое

404 - Component not found (http://site.ru/default.php)

You may not be able to visit this page because of:

an out-of-date bookmark/favourite
a search engine that has an out-of-date listing for this site
a mistyped address
you have no access to this page
The requested resource was not found.
An error has occurred while processing your request.

Please try one of the following pages:

Home Page

If difficulties persist, please contact the System Administrator of this site.

Component not found (http://site.ru/default.php)
 
 Top
LIME
Отправлено: 23 Июля, 2012 - 18:40:47
Post Id


Активный участник


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


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




я жумлу не знаю но...
финт ушами...
в индекс пхп в самом начале вставить проверку запроса по параметру ...и отработать ответ...и умереть))
коряво но ...или жди лучшего ответа
(Добавление)
ну или в htaccess слазь
если умеешь
 
 Top
NeuroZ
Отправлено: 23 Июля, 2012 - 18:45:44
Post Id



Посетитель


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


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




LIME пишет:
я жумлу не знаю но...
финт ушами...
в индекс пхп в самом начале вставить проверку запроса по параметру ...и отработать ответ...и умереть))
коряво но ...или жди лучшего ответа
(Добавление)
ну или в htaccess слазь
если умеешь

В общем на половину поебдил - ссылка прямая, по которой доступна эта страница, воообще к пхп файлу никак не относится она такая: http://сцука[dot]сцайт/index.php/Abo[dot][dot][dot]menu-id-201[dot]html
Взял запихнул вместо пхп вот этот линк menu-id-201.html
Вроде обрабатывает запрос. Но. В посте при этом передает только эти параметры:
[layout] => default
[view] => article

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB