Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 1
Регистрация: 26.01.2013
Сообщений: 192

Как грамотно прописать код mail.php?

25.04.2016, 14:48. Показов 1458. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, скажите, как прописать код, что бы у меня работали все формы обр. связи.
Есть несколько форм:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!------------ ФОРМА СВЯЗИ 1 ---------------->
<div class="col-md-4">
    <form class="forms" method="post">
        <h4>Заявка:</h4><p>Оставьте заявку и мы свяжемся с вами в течение ближайшего времени в рабочие часы с 09:00 до 17:00 c пн-пт.</p>
        <label><span>Ваше имя:</span><input type="text" name="name" required></label>
        <label>
            <span>Ваш телефон:</span>
            <input type="$sitename"  name="customer_phone" required id="customer_phone">
        </label>
 
        <div class="button-wrap">
            <button class="buttons" method="POST">Отправить</button>
        </div>
 
        <input type="hidden" name="formname" value="Заявка с верхней формы">
    </form>
</div>
 
<!-------------- Конец формы 1-------------->
 
<!--------ФОРМА 2-------------->
<div class="col-md-4">
    <form class="forms" method="POST">
        <h4>Оставить заявку:</h4>
        <p>Оставьте заявку и мы свяжемся с вами в течение ближайшего времени в рабочие часы с 09:00 до 17:00 c пн-пт.</p>
        <label><span>Ваше имя:</span>
 
            <input type="text" name="name2" required></label>
            <label><span>Ваш телефон:</span>
                <input type="$sitename" method="post" name="customer_phone2" required id="customer_phone2"></label>
 
                <div class="button-wrap">
                    <button class="buttons" method="POST">Отправить</button>
                </div>
                <input type="hidden" name="formname2" value="Заявка с нижней формы">
            </form>
        </div>
 
        <!--------ФОРМА 2-------------->
 
        <!--------ФОРМА 3 -------------->
        <form class="forms" id="callback" method="POST">
            <h4>Заявка:</h4>
            <p>Оставьте заявку и мы свяжемся с вами в течение ближайшего времени в рабочие часы с 09:00 до 17:00 c пн-пт.</p>
            <label><span>Ваше имя:</span>
                <input type="text" name="name3" required></label>
                <label><span>Ваш телефон:</span><input type="$sitename" method="post" name="customer_phone3" required id="customer_phone3" >
                </label>
                <div class="button-wrap">
                    <button class="buttons" method="POST">Отправить</button>
                </div>
                <input type="hidden" name="formname3" value="">
            </form>
            <!--------ФОРМА 3 -------------->
        </div>
Конечно же есть и обработчик:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    $(".forms").submit(function(){
        $.ajax({
            type:"POST",
            url:"mail.php",
            data:   $(this).serialize()
        })
        .done(function(){
            alert("Спасибо за заявку! Специалист свяжется с вами в ближайшее время.");
        setTimeout(function(){
            $.magnificPopup.close();
            $(".forms").trigger("reset");
        }, 1000);
    });
        return false;});
Ну и сам mail.php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
$frm_name  = "Youname";
$recepient = "boulingist81@yandex.ru";
$sitename  = "ИП 'STAR'";
$subject   = "Новая заявка с сайта \"$sitename\"";
 
$name = trim($_POST["name"]);
$customer_phone = trim($_POST["customer_phone"]);
$formname = trim($_POST["formname"]);
 
$message = "
Форма: $formname <br>
Имя: $name <br>
Телефон: $customer_phone
";
 
/
 
mail($recepient, $subject, $message, "From: $frm_name <$email>" . "\r\n" . "Reply-To: $email" . "\r\n" . "X-Mailer: PHP/" . phpversion() . "\r\n" . "Content-type: text/html; charset=\"utf-8\"");
?>
Я увы не спец. Поэтому, кому не сложно, расскажите "для тех кто в танке", как заставить работать все формы?
В почту должно приходить:
Название формы с которой была сделана отправка, имя и № телефона (которое ввел пользователь).
На всякий случай вот ссылка:
http://mikhai3o.bget.ru
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.04.2016, 14:48
Ответы с готовыми решениями:

Как грамотно интегрировать скрипт php в html
Здравствуйте увожаемые программисты! У меня к вам такой вопрос. Есть php скрипт под названием Slim File Manager. Работает отлично, надо его...

Как прописать html в файле php
Здравствуйте. Не понимаю в php почти вообще, но пытаюсь прикрутить стиль к выводящему сообщению: Это модуль отправки емейл.. при...

Ошибки PHP Как прописать правильно?
Вот Ошибки Warning: mysql_query() expects parameter 2 to be resource, null given in F:\home\vmire\www\adduser.php on line 57 ...

6
 Аватар для 0xD61C90
15 / 15 / 13
Регистрация: 14.03.2016
Сообщений: 78
25.04.2016, 15:00
Объясните сначала зачем javascript используете?

Про form
0
2 / 2 / 1
Регистрация: 26.01.2013
Сообщений: 192
25.04.2016, 15:02  [ТС]
Цитата Сообщение от 0xD61C90 Посмотреть сообщение
Объясните сначала зачем javascript используете?
Доброго дня!
javascript нужен там, потому как там работает маска ввода номера телефона.
0
 Аватар для 0xD61C90
15 / 15 / 13
Регистрация: 14.03.2016
Сообщений: 78
25.04.2016, 15:12
Попробуйте отключить JS в браузере, введите номер?
0
2 / 2 / 1
Регистрация: 26.01.2013
Сообщений: 192
26.04.2016, 13:08  [ТС]
Цитата Сообщение от 0xD61C90 Посмотреть сообщение
Попробуйте отключить JS в браузере, введите номер?
Для чего?
Если надо, я могу закоментировать javascript и залить на хостинг.

Добавлено через 16 минут
Перезалил

Добавлено через 11 минут
Не весь javascript скопировал...
Вот :
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
var lim=10,
    digs=function(txt){return txt.replace(/[^\d]{1,}/g,'');};
 
$(document).ready(function(){
 
$('#customer_phone, #customer_phone2, #customer_phone3 ')
.on('input',function(){
var val=digs($(this).val());
val.length > lim ? ( $(this).val(val.substr(0,11)),$(this).blur() ) : $(this).val(val);
})
.on('blur',function(){
var val=$(this).val();
if(val){
var newVal='+';
    newVal+=val[0].replace(/8/,'7')+' ('+val.substr(1,3)+') '+val.substr(4,3)+'-'+val.substr(7,2)+'-'+val.substr(9);
$(this).val(newVal);
}
})
.on('focus',function(){
$(this).val(digs($(this).val()));
});
 
});
 
 
 
 
// маска телефона//
 
    $(".forms").submit(function(){
        $.ajax({
            type:"POST",
            url:"mail.php",
            data:   $(this).serialize()
        })
        .done(function(){
            alert("Спасибо за заявку! Специалист свяжется с вами в ближайшее время.");
        setTimeout(function(){
            $.magnificPopup.close();
            $(".forms").trigger("reset");
        }, 1000);
    });
        return false;});
Добавлено через 1 минуту
Цитата Сообщение от 0xD61C90 Посмотреть сообщение
Попробуйте отключить JS в браузере, введите номер?
Спасибо. Я не весь участок кода отправил.

Добавлено через 8 минут
Но как реализовать задумку, не знаю....

Добавлено через 2 часа 45 минут
Цитата Сообщение от 0xD61C90 Посмотреть сообщение
Попробуйте отключить JS в браузере, введите номер?
Отключил весь скрипт.
Письма перестали доходить вообще

Добавлено через 2 часа 6 минут
Друзья... Пожалуйстаа, помогите решить задачку...

Добавлено через 16 часов 22 минуты
Похоже, что и сам запутался и вас запутал. Прошу меня простить.
Суть проблемы та же: "как грамотно прописать код", что бы со всех трёх форм, мне на почту приходили письма с:
1) название формы с которой отправляли сообщение
2) Имя
3) Телефон вида ( +7 (___) ___-__-__ )
Код обработчика сейчас такой:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// маска телефона//
var lim=10,
digs=function(txt){return txt.replace(/[^\d]{1,}/g,'');};
 
$(document).ready(function(){
 
    $('#customer_phone, #customer_phone_2, #customer_phone_3 ')
    .on('input',function(){
        var val=digs($(this).val());
        val.length > lim ? ( $(this).val(val.substr(0,11)),$(this).blur() ) : $(this).val(val);
    })
    .on('blur',function(){
        var val=$(this).val();
        if(val){
            var newVal='+';
                newVal+=val[0].replace(/8/,'7')+' ('+val.substr(1,3)+') '+val.substr(4,3)+'-'+val.substr(7,2)+'-'+val.substr(9);
            $(this).val(newVal);
        }
    })
    .on('focus',function(){
        $(this).val(digs($(this).val()));
    });
 
});
 
// маска телефона//
mail.php такого вида:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
$frm_name  = "Youname";
$recepient = "boulingist81@yandex.ru";
$sitename  = "ИП 'STAR'";
$subject   = "Новая заявка с сайта \"$sitename\"";
 
$name = trim($_POST["name"]);
$customer_phone = trim($_POST["customer_phone"]);
$formname = trim($_POST["formname"]);
 
$message = "
Форма: $formname <br>
Имя: $name <br>
Телефон: $customer_phone
";
 
/
 
mail($recepient, $subject, $message, "From: $frm_name <$email>" . "\r\n" . "Reply-To: $email" . "\r\n" . "X-Mailer: PHP/" . phpversion() . "\r\n" . "Content-type: text/html; charset=\"utf-8\"");
?>
Ну и код самой формы html:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!------------ ФОРМА СВЯЗИ 1 ---------------->
<div class="col-md-4">
    <form class="forms" method="post">
        <h4>Заявка:</h4><p>Оставьте заявку и мы свяжемся с вами в течение ближайшего времени в рабочие часы с 09:00 до 17:00 c пн-пт.</p>
        <label><span>Ваше имя:</span><input type="text" name="name" required></label>
        <label>
            <span>Ваш телефон:</span>
            <input type="$sitename"  name="customer_phone" required id="customer_phone">
        </label>
 
        <div class="button-wrap">
            <button class="buttons" method="POST">Отправить</button>
        </div>
 
        <input type="hidden" name="formname" value="Заявка с верхней формы">
    </form>
</div>
 
<!-------------- Конец формы 1-------------->
 
<!--------ФОРМА 2-------------->
<div class="col-md-4">
    <form class="forms" method="POST">
        <h4>Оставить заявку:</h4>
        <p>Оставьте заявку и мы свяжемся с вами в течение ближайшего времени в рабочие часы с 09:00 до 17:00 c пн-пт.</p>
        <label><span>Ваше имя:</span>
 
            <input type="text" name="name2" required></label>
            <label><span>Ваш телефон:</span>
                <input type="$sitename" method="post" name="customer_phone2" required id="customer_phone2"></label>
 
                <div class="button-wrap">
                    <button class="buttons" method="POST">Отправить</button>
                </div>
                <input type="hidden" name="formname2" value="Заявка с нижней формы">
            </form>
        </div>
 
        <!--------ФОРМА 2-------------->
 
        <!--------ФОРМА 3 -------------->
        <form class="forms" id="callback" method="POST">
            <h4>Заявка:</h4>
            <p>Оставьте заявку и мы свяжемся с вами в течение ближайшего времени в рабочие часы с 09:00 до 17:00 c пн-пт.</p>
            <label><span>Ваше имя:</span>
                <input type="text" name="name3" required></label>
                <label><span>Ваш телефон:</span><input type="$sitename" method="post" name="customer_phone3" required id="customer_phone3" >
                </label>
                <div class="button-wrap">
                    <button class="buttons" method="POST">Отправить</button>
                </div>
                <input type="hidden" name="formname3" value="">
            </form>
            <!--------ФОРМА 3 -------------->
        </div>
"форма 3" вызывается так:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!-----------------КНОПКА ВЫЗОВА ФОРМЫ 3 (Заказать консультацию) -------------->
<div class="section-bottom">
<a href="#callback" class="buttons">Заказать консультацию</a>
</div>
<!----------------КОНЕЦ КНОПКИ ВЫЗОВА ФОРМЫ 3 (Заказать консультацию) -------------->
 
<!--- КНОПКА ВЫЗОВА ФОРМЫ 3 (Заказать устройство кровли) -------->                                             <div class="sbottons">
<a href="#callback" class="sbuttons">Заказать устройство кровли</a>
</div>
 
<!--- КОНЕЦ КНОПКИ ВЫЗОВА ФОРМЫ 3 (Заказать устройство кровли) -------------->
 
<!--- КНОПКА ВЫЗОВА ФОРМЫ 3 (Заказать ремонт кровли) -------->
 
<div class="sbottons"><a href="#callback" class="sbuttons">Заказать ремонт кровли</a>                                           </div>
 
<!--- КОНЕЦ КНОПКА ВЫЗОВА ФОРМЫ 3 (Заказать ремонт кровли) -------->
 
<!--- КНОПКА ВЫЗОВА ФОРМЫ 3 (Заказать гидроизоляцию подвала) -------->
<div class="sbottons"><a href="#callback" class="sbuttons">Заказать гидроизоляцию подвала</a>
</div>
 
<!--- КОНЕЦ КНОПКА ВЫЗОВА ФОРМЫ 3 (Заказать гидроизоляцию подвала) -------->
 
<!--- КНОПКА ВЫЗОВА ФОРМЫ (Заказать гидроизоляцию паркинга) -------->
<div class="sbottons"><a href="#callback" class="sbuttons">Заказать гидроизоляцию паркинга</a>
</div>
 
<!---КОНЕЦ КНОПКА ВЫЗОВА ФОРМЫ 3 (Заказать гидроизоляцию паркинга) -------->
 
<!------- КНОПКА ВЫЗОВА ФОРМЫ 3 (консультацию по выбору материала)     -------------->
    <div class="section-bottom">
        <a href="#callback" class="buttons">Заказать консультацию по выбору материала.</a>
    </div>
<!-------  КОНЕЦ КНОПКи ВЫЗОВА ФОРМЫ 3 (консультацию по выбору материала)     -------------->
 
<!------- КНОПКА ВЫЗОВА ФОРМЫ 3 (Обратиться к нам)     -------------->
    <div class="section-bottom"><a href="#callback" class="buttons">Обратиться к нам</a>
    </div>
<!------- КОНЕЦ КНОПКи ВЫЗОВА ФОРМЫ 3 (Обратиться к нам)     -------------->
 
<!------- КНОПКА ВЫЗОВА ФОРМЫ 3 (Оставить заявку)     -------------->
        <div class="section-bottom"><a href="#callback" class="buttons">Оставить заявку</a>
        </div>
<!------- КОНЕЦ КНОПКИ ВЫЗОВА ФОРМЫ 3 (Оставить заявку)     -------------->
Вот такая у меня штука выходит. Но как сделать что бы письма приходили, не понимаю.
0
 Аватар для 0xD61C90
15 / 15 / 13
Регистрация: 14.03.2016
Сообщений: 78
27.04.2016, 04:22
HTML5
1
2
3
<form action="mail.php" class="form" method="post">
...
</form>
Добавлено через 6 минут
PHP
1
2
3
4
if($_POST["formname"]){ // form1, для других forname2,3
$name = trim($_POST["name"]);
$customer_phone = trim($_POST["customer_phone"]);
}
1
2 / 2 / 1
Регистрация: 26.01.2013
Сообщений: 192
27.04.2016, 11:16  [ТС]
Цитата Сообщение от 0xD61C90 Посмотреть сообщение
if($_POST["formname"]){ // form1, для других forname2,3
$name = trim($_POST["name"]);
$customer_phone = trim($_POST["customer_phone"]);
}
Скажите, я правильно понимаю, что в mail.php прописать я должен таким образом:
PHP
1
2
3
4
5
6
7
8
if($_POST["formname" "formname2" "formname3"]){ // form1, для других forname2,3
$name = trim($_POST["name"]);
$name2 = trim($_POST["name2"]);
$name3 = trim($_POST["name3"]);
$customer_phone = trim($_POST["customer_phone"]);
$customer_phone2 = trim($_POST["customer_phone2"]);
$customer_phone3 = trim($_POST["customer_phone3"]);
}
И формы обернуть
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form action="mail.php" class="form" method="post">
<!------------ ФОРМА СВЯЗИ 1 ---------------->
<div class="col-md-4">
    <form class="forms" method="post">
        <h4>Заявка:</h4><p>Оставьте заявку и мы свяжемся с вами в течение ближайшего времени в рабочие часы с 09:00 до 17:00 c пн-пт.</p>
        <label><span>Ваше имя:</span><input type="text" name="name" required></label>
        <label>
            <span>Ваш телефон:</span>
            <input type="$sitename"  name="customer_phone" required id="customer_phone">
        </label>
 
        <div class="button-wrap">
            <button class="buttons" method="POST">Отправить</button>
        </div>
 
        <input type="hidden" name="formname" value="Заявка с верхней формы">
    </form>
</div>
</form>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2016, 11:16
Помогаю со студенческими работами здесь

Как прописать стили для php кода?(
В общем имеется код: &lt;div id=&quot;products&quot;&gt; &lt;? while ($row=mysql_fetch_array($res)) { echo '&lt;br/&gt; '.$row.' &lt;br&gt; ...

Как прописать Если time() >= a1 и <= b1 то include 'c1.php'; include 'd1.php';
Сейчас для вывода информации по временному графику пользуюсь кодом $a = mktime(23,59,59,12,31,2013); if(time()&lt;$a){ include...

Подскажите как правильно прописать код
Всем привет. Мучаюсь, не знаю как правильно прописать, чтобы корректно все работало. Это код virtuemart. Я вставил в него кусок...

PHP sendmail ($t=mail('my@mail.ru', 'tema', 'mess');) не отправляет
Надо из php mail отправить, пишу так: &lt;? $t=mail('my@mail.ru', 'tema', 'mess'); print $t; ?&gt; Выводит 1 типа все ок, но никакое...

Код "обратного звонка" на PHP. Не приходит e-mail
При заказе обратного звонка на почтовый ящик администратора приходит сообщение с телефоном и именем заказчика, но поле с e-mail заказчика...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru