1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Помогите пожалуйста с формой хтмл/пхп

Тема в разделе "Web - программирование", создана пользователем Dobrozlo, 27 авг 2011.

  1. Dobrozlo

    Dobrozlo Гость

    Репутация:
    0
    Я для своего сайта прикрутил форму сервиса Cмартреспондера, но мне нужно что бы перед отправкой на сервис копия сообщения отправлялась мне по электронной почте. Помогите пожалуйста сделать это! Буду примного благодарен! Могу даже материально отблагодарить..
    :facepalm:
    PHP:
    <!-- SmartResponder.ru subscribe form code (begin) --><script language="javascript" type="text/javascript">
    function 
    SR_IsListSelected(el)
    {
    for (var 
    0el.length++)
    if (
    el[i].selected ||
    el[i].checked)
    return 
    i;
    return -
    1;
    }
    function 
    SR_trim(f)
    {
    return 
    f.toString().replace(/^[ ]+/, '').replace(/[ ]+$/, '');
    }
    function 
    SR_submit(f)
    {
    f["field_name_first"].value SR_trim(f["field_name_first"].value);
    f["field_email"].value SR_trim(f["field_email"].value);
    f["field_phones"].value SR_trim(f["field_phones"].value);
    if ((
    SR_focus f["field_name_first"]) && f["field_name_first"].value.replace(/^[ ]+/, '').replace(/[ ]+$/, '').length || (SR_focus f["field_email"]) && f["field_email"].value.replace(/^[ ]+/, '').replace(/[ ]+$/, '').length 1) { alert("Укажите значения всех обязательных для заполнения полей (помечены звездочкой)"); SR_focus.focus(); return false; }
    if (!
    f["field_email"].value.match(/^[\+A-Za-z0-9][\+A-Za-z0-9\._-]*[\+A-Za-z0-9_]*@([A-Za-z0-9]+([A-Za-z0-9-]*[A-Za-z0-9]+)*\.)+[A-Za-z]+$/)) { alert("Некорректный синтаксис email-адреса!"); f["field_email"].focus(); return false; } 
    return 
    true;
    }
    </
    script>
    <
    form style="margin: 0; padding: 0;" name="SR_form" action="http://smartresponder.ru/subscribe.html" method="post" onsubmit="return SR_submit(this)"><input type=hidden name=version value="1"><input type=hidden name=tid value="0"><input type=hidden name=uid value=""><input type=hidden name=lang value="ru">
    <
    table width="400">
    <
    tr><td style="padding: 5px; border: 1px solid #c9c9c6;background-color: #f5f5f1;" align=center><table cellspacing=1 cellpadding=2 align=center>
    <
    tr><td><input type=hidden name="did[]" value="96952"></td></tr>
    <
    tr><td style="font-family: Arial; font-size: 10pt; color: #000000;" align="left">Ваше имя:<font color="#ff0000"><b>*</b></font></td></tr>
    <
    tr><td align="left"><input type=text size="20" style="font-family: Arial; font-size: 8pt; color: #000000; background-color: #ffffff; " name="field_name_first" value=""></td></tr>
    <
    tr><td style="font-family: Arial; font-size: 10pt; color: #000000;" align="left">Ваш e-mail:<font color="#ff0000"><b>*</b></font></td></tr>
    <
    tr><td align="left"><input type=text size="20" style="font-family: Arial; font-size: 8pt; color: #000000; background-color: #ffffff; " name="field_email" value=""></td></tr>
    <
    tr><td style="font-family: Arial; font-size: 10pt; color: #000000;" align="left">Контактные телефоны:</td></tr>
    <
    tr><td align="left"><input type=text size="20" style="font-family: Arial; font-size: 8pt; color: #000000; background-color: #ffffff; " name="field_phones" value=""></td></tr>
    <
    tr><td align="center"><input name="SR_submitButton" type=submit style="font-family: Arial; font-size: 10pt; color: #000000; font-weight: bold;" value="Получить!"></td></tr></table></td></tr></table></form><!-- SmartResponder.ru subscribe form code (end) -->
     
  2. Dobrozlo

    Dobrozlo Гость

    Репутация:
    0
    Кто может помочь - пишите в icq 10408 или skype vladimir_v_selivanov
     
  3. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
    Уже пишу. скоро тут будет код.
     
  4. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0

    Это чистый javascript, он не умеет e-mail'ы отправлять.

    Мой способ - перехват после проверки и отправка в фоновом режиме всех данных формы - ajax'ом - скрипту на PHP, который уже и отправляет письмо.
    Итак.

    1.Добавим к скрипту пару строк:

    Код:
    var xmlHttp = false;
    
    if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
    }
    
    function sendemail(postcont){
    url = 'sendemail.php?'+postcont;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
    }
    2.И к функции SR_submit(); (перед return true;) допишем небольшой обработчик:

    Код:
    	var field_name_first = f["field_name_first"].value;
    var field_email = f["field_email"].value;
    var field_phones = f["field_name_first"].value;
    
    var postcont = "field_name_first="+encodeURIComponent(field_name_first)+"&field_email="+encodeURIComponent(field_email)+"&field_phones="+encodeURIComponent(field_phones);
    
    sendemail(postcont);
    3.Затем создадим в директории страницы файл sendemail.php с таким содержимым:

    Код:
    <?php $MailTo = "admin@1ive.ru"; //кому отправляем
    
    if (isset($_GET['field_name_first']))
    {
    $data = 'Name:'.$_GET['field_name_first'].'; E-mail:'.$_GET['field_email'].'; Phones:'.$_GET['field_phones'];
    mail($MailTo, "Сообщение из формы смартреспондера", $data);
    }
    ?>
    На сервере должна быть включена возможность отправки почты функцией mail();

    Собственно всё, хочу заметить что в Firefox 6.0 [sup]beta[/sup] скрипт не сработал у меня, в остальных браузерах всё ОК
     
  5. Dobrozlo

    Dobrozlo Гость

    Репутация:
    0
  6. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
    У вас просто ЧПУ не пускает к sendemail.php

    Тогда вставьте этот код в index.php:

    PHP:
    $MailTo "admin@1ive.ru"//кому отправляем

    if (isset($_GET['field_name_first']))
    {
    $data 'Name:'.$_GET['field_name_first'].'; E-mail:'.$_GET['field_email'].'; Phones:'.$_GET['field_phones'];
    mail($MailTo"Сообщение из формы смартреспондера"$data);
    }
    И поправьте функцию sendemail(); до такого вида.


    Код:
    function sendemail(postcont){
    url = 'index.php?'+postcont;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
    }
     
  7. Dobrozlo

    Dobrozlo Гость

    Репутация:
    0
    Поменял, но письма все равно не приходят
     
  8. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
  9. Dobrozlo

    Dobrozlo Гость

    Репутация:
    0
    1ive, Спасибо большое!!!)
    Работает!!!)
    :love: :ithx: :YES:
     
  10. 1ive

    1ive Well-Known Member

    Репутация:
    0
    Регистрация:
    12 сен 2010
    Сообщения:
    621
    Симпатии:
    0
    Модеры, поставьте плюсик). Человек не может...
     
Загрузка...
Похожие Темы - Помогите пожалуйста формой
  1. Rina
    Ответов:
    1
    Просмотров:
    266
  2. Sniff
    Ответов:
    1
    Просмотров:
    215
  3. komodikus
    Ответов:
    11
    Просмотров:
    716
  4. limbra
    Ответов:
    3
    Просмотров:
    382
  5. uxbmw3w
    Ответов:
    0
    Просмотров:
    606

Поделиться этой страницей