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

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

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

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

Имею на сайте 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2015, 12:56
Ответы с готовыми решениями:

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

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

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

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

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

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  [ТС] 4
Прошу прощения забыл указать что отправка на E-mail.
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 17:28 5
Тогда 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  [ТС] 6
Спасибо большое за помощь. Как я понял перекидывает на 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 7
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  [ТС] 8
Применил всё в один файл. Все делаю на хостинге. Результат: Жму отправить, страница обновляется. Письма нет.
Сайт: http://test2.bezprobega.net/ (открытая форма на первом экране)
Сайт как хочу чтоб получилось: tattoobrovok.tk (если не затруднит заполните форму тестовыми данными, чтоб понять)
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 19:38 9
Код высвечивается в виде текста. Пришлите содержимое файла index1.php
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 20:14  [ТС] 10
Это я уже опять после вашего всё поменял. Сейчас убрал пару символов, больше не высвечивается как текст, наоборот работает как мне надо. НО так и НЕ отправляет.
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 11
Не понятны лишние манипуляции с функциями и переменными.
Сделайте условие проверки отправки
Вместо:
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  [ТС] 12
Почта моя. Но ради чистоты эксперимента только что поменял, и применил ваш код. Результат: тот же, ничего.
0
7 / 7 / 3
Регистрация: 21.12.2012
Сообщений: 146
22.04.2015, 20:42 13
Не не, он должен был сверху вывести один из текстов. Либо "Отправка прошла успешно." либо "Что-то пошло не так...". Вопрос: какой вывелся?

Замените как я показал, я протестирую.
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 20:54  [ТС] 14
Ну вот сейчас так, текста нет. Верно же заменил?
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 15
Так...вы есть в вк или еще где, для более быстрого обмена сообщениями? (отправьте на мою почту)
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 8
22.04.2015, 21:10  [ТС] 16
Конечно. vk.com/vegese
0
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 1
19.03.2018, 20:22 17
В нашем магазине автосервисного Оборудование вы можнтн приобрести:


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

По самым выгодным ценам в Башкирии
0
19.03.2018, 20:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2018, 20:22
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru