Jump to content
  • 0

куда вставить e-mail в форму php


Vic-Tor
 Share

Question

Народ, всем привет! Помогите, есть форма для отправки сообщения с сайта, а я в пхп не ахти, форму нашел, а куда свой е-мейл вставить не могу понять. И аналоги смотрел, не помогает. Туппю :blush:

Вот:

<?php$owner_email = $_POST["owner_email"];$headers = 'From:' . $_POST[""];$subject = 'A message from your site visitor ' . $_POST["name"];$messageBody = "";if($_POST['name']!='nope'){$messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";$messageBody .= '<br>' . "\n";}if($_POST['email']!='nope'){$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";$messageBody .= '<br>' . "\n";}else{$headers = '';}if($_POST['state']!='nope'){ $messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";$messageBody .= '<br>' . "\n";}if($_POST['phone']!='nope'){ $messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";$messageBody .= '<br>' . "\n";} if($_POST['fax']!='nope'){ $messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";$messageBody .= '<br>' . "\n";}if($_POST['message']!='nope'){$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";}if($_POST["stripHTML"] == 'true'){$messageBody = strip_tags($messageBody);}try{if(!mail($owner_email, $subject, $messageBody, $headers)){throw new Exception('mail failed');}else{echo 'mail sent';}}catch(Exception $e){echo $e->getMessage() ."\n";}?>
 
Спасибо!!!
Edited by rus
код обрамлять в теги форума!!!
Link to comment
Share on other sites

24 answers to this question

Recommended Posts

  • 0

Спасибо, я пробовал, может что на сервере нужно настроить пхп например??

Еще раз спасибо!!!

 

Блин, пишет:

Сообщение, которое вы послали не содержали адреса получателей, и, следовательно, не 
доставка может быть предпринято.
 
Чо я не так делаю???
Edited by Vic-Tor
Link to comment
Share on other sites

  • 0

жевать вряд ли кто-то будет, а азы для не детских вопросов должны быть, так что если хотите ускориться, то вам для начала сюда:

http://www.php.net/manual/ru/language.basic-syntax.php

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

есть и другой вариант, это создать тему в разделе:

сделайте мне бесплатно

или

коммерческие услуги

Link to comment
Share on other sites

  • 0
Что означает последняя фраза? 
 

$_POST - это те переменные,  которые были переданы из форм страницы методом post (есть еще get метод - через адресную строку)

Link to comment
Share on other sites

  • 0

жевать вряд ли кто-то будет, а азы для не детских вопросов должны быть, так что если хотите ускориться, то вам для начала сюда:

http://www.php.net/manual/ru/language.basic-syntax.php

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

есть и другой вариант, это создать тему в разделе:

Вы меня извините, но это для меня темный лес. Изучать ради одного раза я не буду, я сайты то в шаблонах делаю. Люди в вузах учатся годами. Если можете, просто скажите где ошибка, я вставлял туд, но увы, не помогло.

Спасибо!

Link to comment
Share on other sites

  • 0
Вы меня извините, но это для меня темный лес. Изучать ради одного раза я не буду, я сайты то в шаблонах делаю. Люди в вузах учатся годами.

выбросьте эти стереотипы

Link to comment
Share on other sites

  • 0

 

Просто, тут форма неплохая. У меня нет времени изучать всё, это у меня ка хобби, подработок. У нас основная работа сезонная.6 Я еще химию вспоминаю (плохо в школе учил) и многим другим увлекаюсь. Если можете - ПОМОГИТЕ! Спасибо!
Edited by Vic-Tor
Link to comment
Share on other sites

  • 0

<?php

$owner_email = $_POST["owner_email"];

$headers = 'From:' . $_POST[""];

$tomail = "test@test.ru"; // тут ваш email

$subject = 'A message from your site visitor ' . $_POST["name"];

$messageBody = "";

if($_POST['name']!='nope'){

$messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}

if($_POST['email']!='nope'){

$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}else{

$headers = '';

}

if($_POST['state']!='nope'){

$messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}

if($_POST['phone']!='nope'){

$messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}

if($_POST['fax']!='nope'){

$messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}

if($_POST['message']!='nope'){

$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";

}

if($_POST["stripHTML"] == 'true'){

$messageBody = strip_tags($messageBody);

}

try{

if(!mail($tomail, $owner_email, $subject, $messageBody, $headers)){

throw new Exception('mail failed');

}else{

echo 'mail sent';

}

}catch(Exception $e){

echo $e->getMessage() ."\n";

}

?>

Link to comment
Share on other sites

  • 0

тогда попробуйте через echo вывести $message будет ли он там и заодно все переменные. Если они выводятся значит косяк в mail()

Насколько помню - многие бесплатные хосты его не поддерживают, насчет денвера не вкурсе 

Link to comment
Share on other sites

  • 0

Вставьте весь php код сюда, который сейчас - сюда.

Откуда отправляете - с какого хостинга? Что пишет скрипт при отправке?

Какой хтмл код формы, из которой происходит отправка письма?

Спам смотрели? Попробуйте разные почтовые сервисы.

Edited by Zverushka
Link to comment
Share on other sites

  • 0

Спам смотрели? Попробуйте разные почтовые сервисы.

шаблон: http://xn--80apgctu.in.ua/index-5.html

 

MailHandler.php:

<?php$owner_email = $_POST["smola-epoxy@yandex.ua"];$headers = 'From:' . $_POST["email"];$subject = 'A message from your site visitor ' . $_POST["name"];$messageBody = "";if($_POST['name']!='nope'){$messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";$messageBody .= '<br>' . "\n";}if($_POST['email']!='nope'){$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";$messageBody .= '<br>' . "\n";}else{$headers = '';}if($_POST['state']!='nope'){ $messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";$messageBody .= '<br>' . "\n";}if($_POST['phone']!='nope'){ $messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";$messageBody .= '<br>' . "\n";} if($_POST['fax']!='nope'){ $messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";$messageBody .= '<br>' . "\n";}if($_POST['message']!='nope'){$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";}if($_POST["stripHTML"] == 'true'){$messageBody = strip_tags($messageBody);}try{if(!mail($owner_email, $subject, $messageBody, $headers)){throw new Exception('mail failed');}else{echo 'mail sent';}}catch(Exception $e){echo $e->getMessage() ."\n";}?>
 
В html это:,... впрочем Вы сами увидите.
 
в forms.js:
 
//forms;(function($){$.fn.forms=function(o){return this.each(function(){var th=$(this),_=th.data('forms')||{errorCl:'error',emptyCl:'empty',invalidCl:'invalid',notRequiredCl:'notRequired',successCl:'success',successShow:'4000',mailHandlerURL:'bat/MailHandler.php',ownerEmail:'smola-epoxy@yandex.ua',stripHTML:true,smtpMailServer:'localhost',targets:'input,textarea',controls:'a[data-type=reset],a[data-type=submit]',validate:true,rx:{".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'},".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},".message":{rx:/.{20}/,target:'textarea'}},preFu:function(){_.labels.each(function(){var label=$(this),inp=$(_.targets,this),defVal=inp.val(),trueVal=(function(){var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()return defVal==''?defVal:tmp})()trueVal!=defVal&&inp.val(defVal=trueVal||defVal)label.data({defVal:defVal}) inp.bind('focus',function(){inp.val()==defVal&&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl))}).bind('blur',function(){_.validateFu(label)if(_.isEmpty(label))inp.val(defVal),_.hideErrorFu(label.removeClass(_.invalidCl)) }).bind('keyup',function(){label.hasClass(_.invalidCl)&&_.validateFu(label)})label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide()})_.success=$('.'+_.successCl,_.form).hide()},isRequired:function(el){ return !el.hasClass(_.notRequiredCl)},isValid:function(el){ var ret=true$.each(_.rx,function(k,d){if(el.is(k))ret=d.rx.test(el.find(d.target).val()) })return ret },isEmpty:function(el){var tmpreturn (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal')},validateFu:function(el){ el.each(function(){var th=$(this),req=_.isRequired(th),empty=_.isEmpty(th),valid=_.isValid(th) if(empty&&req)_.showEmptyFu(th.addClass(_.invalidCl))else_.hideEmptyFu(th.removeClass(_.invalidCl))if(!empty)if(valid)_.hideErrorFu(th.removeClass(_.invalidCl))else_.showErrorFu(th.addClass(_.invalidCl)) })},getValFromLabel:function(label){var val=$('input,textarea',label).val(),defVal=label.data('defVal') return label.length?val==defVal?'nope':val:'nope'},submitFu:function(){_.validateFu(_.labels) if(!_.form.has('.'+_.invalidCl).length)$.ajax({type: "POST",url:_.mailHandlerURL,data:{name:_.getValFromLabel($('.name',_.form)),email:_.getValFromLabel($('.email',_.form)),phone:_.getValFromLabel($('.phone',_.form)),fax:_.getValFromLabel($('.fax',_.form)),state:_.getValFromLabel($('.state',_.form)),message:_.getValFromLabel($('.message',_.form)),owner_email:_.ownerEmail,stripHTML:_.stripHTML},success: function(){_.showFu()}}) },showFu:function(){_.success.slideDown(function(){setTimeout(function(){_.success.slideUp()_.form.trigger('reset')},_.successShow)})},controlsFu:function(){$(_.controls,_.form).each(function(){var th=$(this)th.bind('click',function(){_.form.trigger(th.data('type'))return false})})},showErrorFu:function(label){label.find('.'+_.errorCl).slideDown()},hideErrorFu:function(label){label.find('.'+_.errorCl).slideUp()},showEmptyFu:function(label){label.find('.'+_.emptyCl).slideDown()_.hideErrorFu(label)},hideEmptyFu:function(label){label.find('.'+_.emptyCl).slideUp()},init:function(){_.form=_.me _.labels=$('label',_.form)_.preFu()_.controlsFu()_.form.bind('submit',function(){if(_.validate)_.submitFu()else_.form[0].submit()return false}).bind('reset',function(){_.labels.removeClass(_.invalidCl) _.labels.each(function(){var th=$(this)_.hideErrorFu(th)_.hideEmptyFu(th)})})_.form.trigger('reset')}}_.me||_.init(_.me=th.data({forms:_}))typeof o=='object'&&$.extend(_,o)})}})(jQuery)
 
в каждом из этих файлов есть пункт типа: owner_email
 
 
Хостер пишет: (тут и хостер есть)
 
A message that you sent contained no recipient addresses, and therefore no
delivery could be attempted.

—— This is a copy of your message, including all the headers. ——

Date: Sat, 01 Feb 2014 13:07:33 +0200

Message-Id: <E1W9YQ9-0003oa-8O@h1.vhoster.net>

To:

Subject: A message from your site visitor vasa

X-PHP-Originating-Script: 633:MailHandler.php

From:vasa@mIL.RU

Visitor: vasa

Email Address: vasa@mIL.RU

Phone Number: 4252532543245

Message: п▓ я─я┐п╩п╬п╫п╣ 30 п╨пЁ. п╕п╣п╫п╟ 45 пЁя─п╫\п╨пЁ (п╬п╨п╬п╩п╬ 9 пЁя─п╫ п╥п╟ п╪п╣я┌я─)

п■п╣п╩п╟п╣п╪ п©п╩п╟я│я┌п╦п╨ (http://glasslex.com/) - п╡п╬п╥п╦п╪ п╪п╟я┌п╣я─п╦п╟п╩я▀ я─п╟п╥п╫я▀п╣ п╦ п╪п╫п╬пЁп╬...

п÷п╦я┬п╦я┌п╣, п©я─п╦ п©п╬п╨я┐п©п╨п╣ п╠п╬я┤п╨п╟п╪п╦-я─я┐п╩п╬п╫п╟п╪п╦ п╫п╣п©п╩п╬я┘п╦п╣ я├п╣п╫я▀... 

 

 
Буду очень признателен!!!
Кстати, попутно как сделать, что бы кириллица была?
Еще раз спасибо!
 
Edited by rus
блин, автор! еще раз такое увижу (с кодом) - ухи поотрываю!!!
Link to comment
Share on other sites

  • 0

Возможно понты с кодировкой. С хренокодировкой на майл письма приходят, а например на яндекс - нет. ВСЕ файлы преобразовывайте в UTF-8 без бом метки. 

 

Да и поле TO - в ответе пустое.

 

 

Message-Id: <E1W9YQ9-0003oa-8O@h1.vhoster.net>
To:
Subject: A message from your site visitor vasa @h1.vhoster.net>

 

 

Т.е. отправка письма происходила неизвестно куда

Edited by Николя223
Link to comment
Share on other sites

  • 0
$owner_email = $_POST["smola-epoxy@yandex.ua"];

Моя улыбка расплылась до ушей :).

В кавычках указывается имя name переменной, переданной из формы. Так из формы ничего не передается, то адрес почты записывается так:

$owner_email = "smola-epoxy@yandex.ua";

Для каждый Input форы вам надо прописать соотвествующее имя. Если вы пишите 

<input type="text" name="phone">

То чтобы в php ее считать, должна быть запись

$myphone = $_POST["phone"];

 

Для 

<form action="" method="post">

нужно указать метод отправки данных. в данном случае post - по умолчанию идет get.

action - в нем имя страницы, которое будет обрабатывать данные формы, если та же - пустое поле, или например page.php. Не смотря на то, что все эти данные прописаны в ajax скрипте, однако если скрипты на вашей страницы сломаются или пользователь будет с отключенным javascrpt - он не сможет отослать данные формы, а если укажете это - то сможет.

Edited by Zverushka
Link to comment
Share on other sites

  • 0

 

можно и $_REQUEST заюзать там пофик GET или POST все стекается в один глобальный  массив ))

 

 

ЗЫ Код который ТС выложил смотреть не стал, в таком виде его читать - это ломать глаза.

Edited by wwt
Link to comment
Share on other sites

  • 0

Блин ты процитировал то, что я удалила. Ну может скрипт и норальный - вникать надо, он же как-то ошибки выдает нужным полям, только я чет не могу вникнуть - что значит эта запись? Я не так хорошо знаю jquery

$('.email',_.form)

Это имя переменной с точкой?

Link to comment
Share on other sites

  • 0

Блин ты процитировал то, что я удалила. Ну может скрипт и норальный - вникать надо, он же как-то ошибки выдает нужным полям, только я чет не могу вникнуть - что значит эта запись? Я не так хорошо знаю jquery

$('.email',_.form)
Это имя переменной с точкой?

 

var _ = {};_.form = 'ехоу';console.log(_);console.log(_.form);

PS стер цитату

PSPS Если имеете ввиду что значит второй параметр переданный в $() это контекст в котором будет осуществляться поиск, то есть:

$('#form .test');$('.test', $('#form'));

В принципе делают одно и тоже ))

Edited by wwt
Link to comment
Share on other sites

  • 0

 

Блин ты процитировал то, что я удалила. Ну может скрипт и норальный - вникать надо, он же как-то ошибки выдает нужным полям, только я чет не могу вникнуть - что значит эта запись? Я не так хорошо знаю jquery

$('.email',_.form)
Это имя переменной с точкой?

 

var _ = {};_.form = 'ехоу';console.log(_);console.log(_.form);

PS стер цитату

PSPS Если имеете ввиду что значит второй параметр переданный в $() это контекст в котором будет осуществляться поиск, то есть:

$('#form .test');$('.test', $('#form'));

В принципе делают одно и тоже ))

 

Блин, вы меня ваще запутали, я и так-то ничо не понимал, а теперь в ауте. Помогите, я ни в пхп ни в джиэс ни шарю вообще. :facepalmxd:  

Link to comment
Share on other sites

  • 0

 У меня ваш скрипт заработал. Конечно, без $_POST["smola-epoxy@yandex.ua"], а вместо него $owner_email = $_POST["owner_email"]; У вас в скрипте формируется аяксом пост-переменная Вашего адреса и вызывается  MailHandler.php. Но как и говорилось, это странно... т.к. обычно прописывается в php. Поэтому костылем могло быть и просто $owner_email = 'adres@mail.ru' в самом php скрипте. Но форма все равно нехорошая  - бесит латынь в имени, валидация номера бесит тоже.

Edited by bryknyk
Link to comment
Share on other sites

  • 0

 У меня ваш скрипт заработал. Конечно, без $_POST["smola-epoxy@yandex.ua"], а вместо него $owner_email = $_POST["owner_email"]; У вас в скрипте формируется аяксом пост-переменная Вашего адреса и вызывается  MailHandler.php. Но как и говорилось, это странно... т.к. обычно прописывается в php. Поэтому костылем могло быть и просто $owner_email = 'adres@mail.ru' в самом php скрипте. Но форма все равно нехорошая  - бесит латынь в имени, валидация номера бесит тоже.

Спасибо большое! Я уже и сам думаю избавиться от этой формы, у меня есть простая, буду пробовать тулить её в свой html.

Всем СПАСИБО!!!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Only091
      Помогите пожалуйста, не получается сделать постраничную навигацию. Делал все по урокам. в Итоге получилось сделать два разных каталога один с фильтрами другой с постраничной навигацией. И теперь я пытаюсь объединить два каталога. Но не получается. Сами файлы урока в архике каталог. Буду очень благодарен если мне помогут! catalog.phpcatalogDB.js
      каталог.7z
    • By stonelabs
      Всем привет!

      Наша компания (https://stone-labs.com/) ищет команды (!) разработчиков для реализации ряда заказных проектов. Местоположение не важно - мы практикуем удаленную работу.
       
      Обязательные требования:
      Laravel или Symfony frameworks jQuery (UI), JavaScript, Ajax, Bootstrap MySQL REST API, опыт внедрения Third-party APIs английский на уровне чтения и понимания технической документации опыт в разработке веб приложений и их архитектуры с нуля корректное использование git & pull request flow работа в дневное время во временной зоне UTC +3  
      Будет плюсом, если у вашей команды есть:
      опыт с GitLab CI/CD, Jenkins опыт с MySQL Cluster, MongoDB, PostgreSQL, Redis опыт с Vue.js опыт Linux администрирования, SSH, Nginx, DevOps  
      Если вам интересно сотрудничество, пожалуйста, пишите на наш ящик wanted@stone-labs.com 
    • By Defroing
      <form method="POST" action= "action_handler.php" id="form"> <section class="table_1"> <table class="iksweb"> <tbody> <tr> <td rowspan="3"><b>История компании «Mc donald's»</b> <h3 class="the">Кто основал компанию «Mc donald's»?</h3> <section class="conteiner"> <div class="checkbox"> <input type="checkbox" class="i-6" id="i6" value="0" name="formDoor[]"> <label for="i6" tabindex="12">Роналд Макдоналд</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="i7" value="0" name="formDoor[]"> <label for="i7" tabindex="13">Рэй Крок</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="checkbox_68" value="1" name="formDoor[]"> <label for="checkbox_68" tabindex="14">Братья Дик и Мак Макдоналд</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="checkbox_170" value="0" name="formDoor[]"> <label for="checkbox_170" tabindex="14">Клинт Иствуд</label> </div> <div class="out-block out-6"></div> </section> </td> </tr> </tbody> </table> <div class="dsw"> <button class="b-6" tabindex="11" id="btn-1" type="submit" name="formSubmit">Отправить</button> </div> </form> <?php mysql_connect("localhost", "root", ""); mysql_select_db('olala') or die(mysql_error()); if(isset($_GET['submit'])){ $arr=$_GET; foreach ($arr as $key => $value) { $reg="/^check/";//отбираю нужные элементы if( preg_match ($reg,$key )) { //$new_mass[]=$arr[$key]; //print_r($new_mass); echo $arr[$key]; $sql_1="INSERT INTO `table_one` (`name`) VALUES('$arr[$key]')"; mysql_query($sql_1) or die(mysql_error()); } } } ?>  Создаю опросник и хочу, чтобы чекбоксы заносились в БД(таблицу пока не создавал). Хотелось узнать на счёт php кода, сможете подсказать, что в нём не так (дать какие нибудь советы). В openserver опросник пока не выкладывал.
    • By seoww
      Доброго времени суток. Я не сильно знающий веб-разработчик, но учусь. Начал создавать интернет магазин. Написал код самого сайта, посмотрел видео как делаются интернет-магазины и теперь не могу разобраться с PhpMyAdmin. Я не понимаю как она взаимодействует с сайтом. В интернете погуглил, так ничего дельного найти и не смог. Помогите пожалуйста.
      P.S сильно в меня камни не кидайте, я только учусь 
      Всем добра!
    • By Gmansurov
      Нужно отправить текст на сайт, не знаю как это сделать и не могу найти форумы по этим темам. Google Cloud Platform. Помогите пожалуйста.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy