0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8

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

22.04.2015, 12:56. Показов 6636. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru