Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт отправка заполненых полей формы на почту
 
 автор: pautina   (12.01.2015 в 19:52)   письмо автору
 
 

Здравствуйте Уважаемое сообщество ни могли бы посоветовать скрипт отправки сообщений на почту из заполненой формы.
Саму форму средствами html собрал

<form action="send_1.php" method="post">
                                <input type="text" value="Введите телефон" class="form_tel" onfocus="this.value=''" required pattern="[0-9]{10}">
                                <input type="text" value="Введите E-mail" class="form_e-mail" onfocus="this.value=''" required pattern="\S+@[a-z]+.[a-z]+" >
                                <input type="submit" value="Заказать звонок" class="form_butt"> 
                        </form>

присутствует проверка введённых данных по шаблону при помощи регулярных выражений pattern="\S+@[a-z]+.[a-z]+ (для html5)
Но вот незнаю какой скрипт использовать, ни могли бы дать участок php кода
За основу можно взять этот участок кода на php

<?php 
function show_form() 

?> 
<form action="" method=post> 
<div align="center"> 
              <br />Имя*<br /> 
              <input type="text" name="name" size="40"> 
              <br />Контактный телефон<br /> 
              <input type="text" name="tel" size="40"> 
              <br />Контактный email*<br /> 
              <input type="text" name="email" size="40"> 
              <br />Teма<br /> 
              <input type="text" name="title" size="40"> 
              <br />Сообщение*<br /> 
              <textarea rows="10" name="mess" cols="30"></textarea> 
              <br /><input type="submit" value="Отправить" name="submit"> 
</div> 
</form> 
* Помечены поля, которые необходимо заполнить 
<? 

 
function 
complete_mail() { 
        
$_POST['title'] =  substr(htmlspecialchars(trim($_POST['title'])), 01000); 
        
$_POST['mess'] =  substr(htmlspecialchars(trim($_POST['mess'])), 01000000); 
        
$_POST['name'] =  substr(htmlspecialchars(trim($_POST['name'])), 030); 
        
$_POST['tel'] =  substr(htmlspecialchars(trim($_POST['tel'])), 030); 
        
$_POST['email'] =  substr(htmlspecialchars(trim($_POST['email'])), 050); 
        
// если не заполнено поле "Имя" - показываем ошибку 0 
        
if (empty($_POST['name'])) 
             
output_err(0); 
        
// если неправильно заполнено поле email - показываем ошибку 1 
        
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i"$_POST['email'])) 
             
output_err(1); 
        
// если не заполнено поле "Сообщение" - показываем ошибку 2 
        
if(empty($_POST['mess'])) 
             
output_err(2); 
        
// создаем наше сообщение 
        
$mess 
        Имя отправителя:'
.$_POST['name'].
        Контактный телефон:'
.$_POST['tel'].
        Контактный email:'
.$_POST['email'].
        '
.$_POST['mess']; 
        
// $to - кому отправляем 
        
$to 'test@test.ru'
        
// $from - от кого 
        
$from='test@test.ru'
        
mail($to$_POST['title'], $mess"From:".$from); 
        echo 
'Спасибо! Ваше письмо отправлено.'

 
function 
output_err($num

    
$err[0] = 'ОШИБКА! Не введено имя.'
    
$err[1] = 'ОШИБКА! Неверно введен e-mail.'
    
$err[2] = 'ОШИБКА! Не введено сообщение.'
    echo 
'<p>'.$err[$num].'</p>'
    
show_form(); 
    exit(); 

 
if (!empty(
$_POST['submit'])) complete_mail(); 
else 
show_form(); 
?> 

  Ответить  
 
 автор: confirm   (12.01.2015 в 23:56)   письмо автору
 
   для: pautina   (12.01.2015 в 19:52)
 

>htmlspecialchars(trim($_POST['title']))

А вы уверены, что ваш респондет получает почту именно в html-формате?

  Ответить  
 
 автор: pautina   (13.01.2015 в 12:31)   письмо автору
 
   для: confirm   (12.01.2015 в 23:56)
 

Нет ни в html формате, как текстовое сообщение, может другой какой скрипт посоветуете?

  Ответить  
 
 автор: confirm   (13.01.2015 в 12:49)   письмо автору
 
   для: pautina   (13.01.2015 в 12:31)
 

А если как текст, и у респондента действительно выбран режим "принимать как текст", то что он увидит в почтовом сообщении после вышеуказанного действия вами произведенного?

  Ответить  
 
 автор: pautina   (13.01.2015 в 16:53)   письмо автору
 
   для: confirm   (13.01.2015 в 12:49)
 

Не могу сказать мне бы скрипт или рабочий участок кода на php (ну скрипт который отправку делает, с полями Имя, Телефон, E-mail, Сообщение)

  Ответить  
 
 автор: confirm   (13.01.2015 в 20:33)   письмо автору
 
   для: pautina   (13.01.2015 в 16:53)
 

Скрипт - пожалуйста, есть готовое для этого, например, PHPMailer.

  Ответить  
 
 автор: pautina   (14.01.2015 в 18:45)   письмо автору
 
   для: confirm   (13.01.2015 в 20:33)
 

Участок кода или ссылку на статью или документ можете дать?

  Ответить  
 
 автор: confirm   (14.01.2015 в 19:13)   письмо автору
 
   для: pautina   (14.01.2015 в 18:45)
 

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

  Ответить  
 
 автор: pautina   (14.01.2015 в 22:02)   письмо автору
 
   для: confirm   (14.01.2015 в 19:13)
 

В интернете полно всего особенно по отправке почты, правда нужного мне скрипта не нашёл.

<form action="send_1.php" method="post">
                                <input type="text" value="Введите телефон" class="form_tel" onfocus="this.value=''" required pattern="[0-9]{10}">
                                <input type="text" value="Введите E-mail" class="form_e-mail" onfocus="this.value=''" required pattern="\S+@[a-z]+.[a-z]+" >
                                <input type="submit" value="Заказать звонок" class="form_butt"> 
                        </form> 

Эта форма на html 5 и есть проверка вводимых символов в форму при помощи регулярных выражений по записям
pattern="[0-9]{10}"
- для телефона
pattern="\S+@[a-z]+.[a-z]+"
- для записи адреса электронной почты,
Как мне или на чём? реализовать маску для поля телефона
т.е. при наведении указателя мыши на поле телефона появляется так называемая маска для заполнения номера телефона в следующем виде
7-(х1х2х3)-х4х5х6-х7х8-х9х10

Ну и участок кода на php не посоветуете, рабочий участок кода, по которому отправка осуществляется, может даже вашей web студии какой станданртный скрипт php

  Ответить  
 
 автор: confirm   (14.01.2015 в 22:49)   письмо автору
 
   для: pautina   (14.01.2015 в 22:02)
 

Поймите одну простую вещь - нет скриптов, как и нет специализированной почты по отправке полей именно вашей формы, и по отправке еще чьих либо полей с их уже собственными вкусами.

Почтовое ведомство одно, и оно не понимает и не ведает откуда вы взяли то, что хотите отправить почтой. Почте, в частности функции РНР mail(), которая отправляет почтовые сообщения передается адрес получателя, адрес (или имя) отправителя, тема почтового сообщения, тело почтового сообщения и заголовки.

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

И не ищите скриптов для отправки именно ваших инпутов - нет таких.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования