Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/32: Рейтинг темы: голосов - 32, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8

Форма отправки на почту

22.04.2015, 12:56. Показов 6837. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Читал читал форум, ничего не получается у меня.

Имею на сайте 4 формы со стилями, и вообще отсутствует PHP скрипт отправки. Прошу помощи составить.

HTML5
1
2
3
4
5
6
7
8
9
10
11
<div class="form">
                    <div class="bg">
                        <h3>Заполните форму!</h3>
                        <p>И наш менеджер свяжется с вами и расскажет о данном предложении</p>
                        <div><input type="text" class="form-name" placeholder="Ваше имя"></div>
                        <div><input type="text" class="form-phone" placeholder="Номер телефона"></div>
                        <div id="form2" class="button">Отправить</div>
                        <div class="form-comment">Ваши контактные данные в безопасности и<br> не будут переданы третьим лицам.</div>
                        <div class="form-title">2</div>
                    </div>  
                </div>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2015, 12:56
Ответы с готовыми решениями:

Форма отправки на почту
Необходимо сделать форму, которая будет отправлять сообщение на указанную (в форме) почту. То есть, пользователь вводит свои данный,...

Форма отправки сообщения на почту с выборкой
Всем привет, возникла такая проблема, есть вот такая форма на HTML: &lt;form action=&quot;call.php&quot; method=&quot;post&quot;...

Не работает форма отправки - письмо не приходит на почту
Пишет, что сообщение отправлено, ошибок нет, но письмо не приходит, в чем может быть проблема ? &lt;?php function show_form() ...

16
Заблокирован
22.04.2015, 13:28
Цитата Сообщение от Vegese Посмотреть сообщение
PHP скрипт отправки
Куда?
Цитата Сообщение от Vegese Посмотреть сообщение
Имею на сайте 4 формы со стилями
Представленный код не является полноценной формой. МБ имеется js скрипт который этот код обрабатывает, либо это просто не полный вариант кода.
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 15:57
Что-то я так и не понял где сама форма.
"ГОСТ" должен уж присутствовать

HTML5
1
2
3
4
5
<form action="send.php" method="post">
  <input type="text" name="name" placeholder="Ваше имя" required />
  <input type="tel" name="phone" placeholder="Номер телефона" required />
  <button type="submit">Отправить</button>
</form>
где
action="send.php" - файл-обработчик
в каждом input указываем name="..." (имена уникальные внутри одной формы). По ним будут отслеживаться значения.

Простенький файл send.php без особых проверок. А так же не известно, куда нужно отправлять данные?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
  //Принимаем отправленные данные
  $name = $_POST['name'];
  $phone = $_POST['phone'];
  
  //Люди могут отправить много всякой всячины, поэтому устроняем элементарные угрозы
  //Для этого сделаем функцию, чтобы не писать дважды
  function filterString($value){
    return trim(htmlspecialchars($value, ENT_QUOTES, 'UTF-8'));
  }
  
  $name = filterString($name);
  $phone = filterString($phone);
  
  //Далее отправляем куда нужно: на почту, в БД, или еще куда...
}
?>
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 17:14  [ТС]
Прошу прощения забыл указать что отправка на E-mail.
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 17:28
Тогда send.php будет выглядеть следующим образом
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
  //Принимаем отправленные данные
  $name = $_POST['name'];
  $phone = $_POST['phone'];
  
  //Люди могут отправить много всякой всячины, поэтому устраняем элементарные угрозы
  //Для этого сделаем функцию, чтобы не писать дважды
  function filterString($value){
    return trim(htmlspecialchars($value, ENT_QUOTES, 'UTF-8'));
  }
  
  $name = filterString($name);
  $phone = filterString($phone);
  
  //Отправляем сообщение на почту
  //Простой вариант, всё остальное можно посмотреть в документации
  $to = 'test@test.com'; //Кому
  $subject = 'subject'; //Тема
  $message = 'message'; //Сообщение
  mail($to, $subject, $message);
}
?>
Ну здесь, конечно же, нужно еще сделать проверку отправки, вывод сообщения пользователю об успешной/не успешной отправке.
Главное, чтобы вы поняли суть. Всё остальное можно найти в документации и форумах
1
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 17:54  [ТС]
Спасибо большое за помощь. Как я понял перекидывает на send.php но ничего не происходит и письмо не отсылается. У меня есть тоже с моего сайта отличный send.php так-как он еще делает благодарочку после заказа. Что я должен сделать чтоб он заработал с формой здесь. Форму вроде сделал как вы написали. Приложу наверно и то и то.
Форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="form">
                    <div class="bg">
                        <h3>Заполните форму!</h3>
                        <p>И наш менеджер свяжется с вами и расскажет о данном предложении</p>
                        <form action="send.php" method="post">
                            <input type="text" name="name" placeholder="Ваше имя" required />
                            <input type="tel" name="phone" placeholder="Номер телефона" required />
                            <button type="submit">Отправить</button>
                        </form>
                        <div class="form-comment">Ваши контактные данные в безопасности и<br> не будут переданы третьим лицам.</div>
                        <div class="form-title">2</div>
                    </div>  
                </div>
Скрипт:
PHP
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
<?php
 /* Здесь проверяется существование переменных */
  if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
 if (isset($_POST['name'])) {$name = $_POST['name'];}
  if (isset($_POST['addres'])) {$addres = $_POST['addres'];}
 
/* Сюда впишите свою эл. почту */
 $address = "hochu@resnici.tk";
 
/* А здесь прописывается текст сообщения, \n - перенос строки */
$mes = "Тема: Ресницы: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name\nE-mail: $addres";
 
/* А эта функция как раз занимается отправкой письма на указанный вами email */
$sub='Заказ'; //сабж
$email='Заказ <resnici.tk>'; // от кого
 $send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
 
ini_set('short_open_tag', 'On');
header('Refresh: 3; URL=index.html');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="3; url=index.html">
<title>С вами свяжутся</title>
<meta name="generator">
<style type="text/css">
body
{
   
   background: #22BFF7 url(pics/zakaz.jpg) top -70% center no-repeat;
   
}
 
<script type="text/javascript">
setTimeout('location.replace("/index.html")', 3000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script> 
</head>
</body>
</html>
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 18:14
send.php это просто файл обработчик. Обработчик может быть в любом файле, в любой категории, а так же в этом же самом файле, что и форма.
Кстати, если вы тестируете всё это на локальном сервере, то письмо не отправится на почту. Если все настроено, то лишь поместиться в специальную папку (в какую, зависит от того, каким виртуальным web-сервером вы пользуетесь).
У меня к примеру OpenServer. И все сообщения отправляются в папочку: userdata>temp>email

Вот, грубо говоря, небольшой пример (всё в одном файле)
PHP
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
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
  //Принимаем отправленные данные
  $name = $_POST['name'];
  $phone = $_POST['phone'];
  
  //Люди могут отправить много всякой всячины, поэтому устроняем элементарные угрозы
  //Для этого сделаем функцию, чтобы не писать дважды
  function filterString($value){
    return trim(htmlspecialchars($value, ENT_QUOTES, 'UTF-8'));
  }
  
  $name = filterString($name);
  $phone = filterString($phone);
  
  //Отправляем сообщение на почту
  //Простой вариант, всё остальное можно посмотреть в документации
    $to = 'test@test.com'; //Кому
    $subject = 'subject'; //Тема
    $message = 'message'; //Сообщение
    if(mail($to, $subject, $message)){
    $output = 'Сообщение успешно отправлено.';
  }
  else{
    $output = 'Что-то пошло не так, попробуйте еще раз.';
  }
}
?>
<!DOCTYPE html>
<head>
  <meta charset="utf-8" />
  <title>Тест связи</title>
</head>
<body>
<div class="form">
  <div class="bg">
      <h3>Заполните форму!</h3>
      <p>И наш менеджер свяжется с вами и расскажет о данном предложении</p>
      <form action="" method="post">
          <input type="text" name="name" placeholder="Ваше имя" required />
          <input type="tel" name="phone" placeholder="Номер телефона" required />
          <button type="submit">Отправить</button>
      </form>
      <div><?php echo $output; ?></div>
      <div class="form-comment">Ваши контактные данные в безопасности и<br> не будут переданы третьим лицам.</div>
      <div class="form-title">2</div>
  </div>  
</div>
</body>
</html>
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 18:42  [ТС]
Применил всё в один файл. Все делаю на хостинге. Результат: Жму отправить, страница обновляется. Письма нет.
Сайт: http://test2.bezprobega.net/ (открытая форма на первом экране)
Сайт как хочу чтоб получилось: tattoobrovok.tk (если не затруднит заполните форму тестовыми данными, чтоб понять)
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 19:38
Код высвечивается в виде текста. Пришлите содержимое файла index1.php
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 20:14  [ТС]
Это я уже опять после вашего всё поменял. Сейчас убрал пару символов, больше не высвечивается как текст, наоборот работает как мне надо. НО так и НЕ отправляет.
index1.php:
PHP
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
<?php
 /* Здесь проверяется существование переменных */
  if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
 if (isset($_POST['name'])) {$name = $_POST['name'];}
  if (isset($_POST['addres'])) {$addres = $_POST['addres'];}
 
/* Сюда впишите свою эл. почту */
 $address = "hochu@resnici.tk";
 
/* А здесь прописывается текст сообщения, \n - перенос строки */
$mes = "Тема: Ресницы: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name\nE-mail: $addres";
 
/* А эта функция как раз занимается отправкой письма на указанный вами email */
$sub='Заказ'; //сабж
$email='Заказ resnici.tk'; // от кого
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
 
ini_set('short_open_tag', 'On');
header('Refresh: 3; URL=index.html');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="3; url=index.html">
<title>С вами свяжутся</title>
<meta name="generator">
<style type="text/css">
body
{
   
   background: #22BFF7 url(pics/zakaz.jpg) top -70% center no-repeat;
   
}
 
<script type="text/javascript">
setTimeout('location.replace("/index.html")', 3000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script> 
</head>
</body>
</html>

Форма:
HTML5
1
2
3
4
5
6
7
8
<form class="s_form" action="index1.php" method="post">
          <input class="s_text nameinp sinp" type="text" name="name" placeholder="Ваше имя">
          <input class="s_text phoneinp sinp" type="text" name="phone" placeholder="Ваш телефон">
          <input type="hidden"  name="mail" class="email" value="none@none.ru">           
          <input type="hidden" value="C" name="button">
          <input type="hidden"  name="comment" value="None">
          <button id="form2" class="s_submit" type="submit">Отправить</button>
      </form>
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 20:30
Не понятны лишние манипуляции с функциями и переменными.
Сделайте условие проверки отправки
Вместо:
PHP
1
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
Напишите:
PHP
1
2
3
4
5
6
if(mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email")){
  echo 'Отправка прошла успешно.';
}
else{
  echo 'Что-то пошло не так...';
}
И смотрите что выведет.

Кстати, это точно ваша почта? --> hochu@resnici.tk
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 20:39  [ТС]
Почта моя. Но ради чистоты эксперимента только что поменял, и применил ваш код. Результат: тот же, ничего.
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 20:42
Не не, он должен был сверху вывести один из текстов. Либо "Отправка прошла успешно." либо "Что-то пошло не так...". Вопрос: какой вывелся?

Замените как я показал, я протестирую.
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 20:54  [ТС]
Ну вот сейчас так, текста нет. Верно же заменил?
PHP
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
<?php
 /* Здесь проверяется существование переменных */
  if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
 if (isset($_POST['name'])) {$name = $_POST['name'];}
  if (isset($_POST['addres'])) {$addres = $_POST['addres'];}
 
/* Сюда впишите свою эл. почту */
 $address = "support@bezprobega.net";
 
/* А здесь прописывается текст сообщения, \n - перенос строки */
$mes = "Тема: Ресницы: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name\nE-mail: $addres";
 
/* А эта функция как раз занимается отправкой письма на указанный вами email */
$sub='Заказ'; //сабж
$email='Заказ resnici.tk'; // от кого
if(mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email")){
  echo 'Отправка прошла успешно.';
}
else{
  echo 'Что-то пошло не так...';
}
 
ini_set('short_open_tag', 'On');
header('Refresh: 3; URL=index.html');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="3; url=index.html">
<title>С вами свяжутся</title>
<meta name="generator">
<style type="text/css">
body
{
   
   background: #22BFF7 url(pics/zakaz.jpg) top -70% center no-repeat;
   
}
 
<script type="text/javascript">
setTimeout('location.replace("/index.html")', 3000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script> 
</head>
</body>
</html>
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 21:09
Так...вы есть в вк или еще где, для более быстрого обмена сообщениями? (отправьте на мою почту)
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 21:10  [ТС]
Конечно. vk.com/vegese
0
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 1
19.03.2018, 20:22
В нашем магазине автосервисного Оборудование вы можнтн приобрести:


Гидравлическое оборудование

По самым выгодным ценам в Башкирии
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2018, 20:22
Помогаю со студенческими работами здесь

Как реализовать select форма отправки сообщений на почту
Не подскажите как реализовать &quot;select форма отправки сообщений на почту&quot; Название/Цена:&lt;select&gt; &lt;option...

Вторая форма отправки на почту не переходит на страницу благодарности
Такой вот вопрос. На картинках представлено два модальных окна с разными id(myModal1 и absorbers) Так вот, почему-то модальное окно...

Скрипт отправки на почту
Добрый день, У меня есть шаблон сайта который надо доделать. В нем есть готовая форма с двумя инпутами Мне необходимо эти инпуты...

Написать код для отправки сообщения на почту
&lt;form name=&quot;MailSend&quot;&gt; Ваше имя:&lt;br&gt; &lt;input type=&quot;text&quot; class=&quot;textSE&quot;&gt;&lt;/input&gt;&lt;br&gt;&lt;br&gt; Ваш Email:&lt;br&gt; ...

Нужен сайт с формами отправки смс на почту
Здраствуйте! Нужен сайт с формами отправки смс на почту Добавлено через 11 минут Кто поможет?


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru