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

Отправка сообщений на почту с PHP формы через пхп исполнитель

08.07.2016, 00:18. Показов 2353. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброй ночи форумчане. Не знаю , пишу ли я по теме или нет,но суть что использую PHP.
В общем, в PHP Devel Studio создал форму отправки сообщения ко мне на e-mail, я так понимаю что это всё должно работать через пхп исполнитель этой всей процедуры. Вот что у меня имеется
PHP
1
2
3
4
5
6
7
8
9
10
<?php
 
$to_Email = "support@ts15vld.ru";
$mail_form = $_GET['form']
$Name = $_GET['Name'];
$Message = $_GET['Message'];
$Phone = $_GET['Phone']
mail($to, $Message, $Name, $Phone, 'Form:'.$mail_form);
 
?>
как мне всё сформулировать так, чтобы всё приходило мне на почту? Заранее спасибо)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.07.2016, 00:18
Ответы с готовыми решениями:

Отправка формы на почту PHP. Где-то ошибка
Привет, знающие! Не могу понять, в чем проблема. Есть форма отправки, есть скрипт java, есть...

Отправка формы на почту с вложением (фото) html+php
Люди добрые помогите пожалуйста) имеется форма обратной связи на html и файл php со скриптом для...

Отправка файла на почту через PHP
прошу вашей помощи нудно добавить в карточку товара форму - в которую вводишь имеил и туда...

Отправка кода на почту через php скрипт
Вообщем есть скрипт &lt;?php ini_set( 'html_errors', false ); if ( empty( $_POST ) || empty(...

18
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
08.07.2016, 00:40 2
Найдите 10 отличий:
$to_Email и $to

Добавлено через 1 минуту
$_GET['form']
Вероятно, не form, а from?
0
2 / 2 / 0
Регистрация: 07.03.2016
Сообщений: 47
08.07.2016, 00:41  [ТС] 3
Пифагор, не совсем понял твой юмор) Я что-то неправильно написал?
1
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
08.07.2016, 00:53 4
Неужели не видно, где ошибка???

-------
$to_Email = "support@ts15vld.ru";
$mail_form = $_GET['form']
$Name = $_GET['Name'];
$Message = $_GET['Message'];
$Phone = $_GET['Phone']
mail($to, $Message, $Name, $Phone, 'Form:'.$mail_form);
1
2 / 2 / 0
Регистрация: 07.03.2016
Сообщений: 47
08.07.2016, 01:06  [ТС] 5
Пифагор, можешь подсказать как это всё сделать уже работающей формой и подключить к программе?)
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
08.07.2016, 01:25 6
Цитата Сообщение от tedey35 Посмотреть сообщение
можешь подсказать
Могу.
Из формы методом GET передаются данные. Далее обрабатываются и уходят туда, куда Вы их направите.
Если не знаете, как это делается, то изучите Работа с формами.
А если учесть, какие ошибки Вы допускаете и пропускаете, то начните с Введение в PHP.
Надеюсь, что помог.
0
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
08.07.2016, 11:50 7
Цитата Сообщение от tedey35 Посмотреть сообщение
уже работающей формой
Если упрощенно - как-то типо так. Только не GET, а POST.
И с функцией mail() не уверен, что так правильно, если что - пусть более знающие поправят)

HTML5
1
2
3
4
5
6
7
8
9
<form action="" method="post">
    <table>
        <tr><td>E-mail:</td><td><input type="text" name="from" /></td></tr>
        <tr><td>Имя:</td><td><input type="text" name="name" /></td></tr>
        <tr><td>Телефон:</td><td><input type="text" name="phone" /></td></tr>
        <tr><td>Сообщение:</td><td><textarea name="message"></textarea></td></tr>
        <tr><input type="submit" name="submit" value="Отправить" ></tr>
    </table>
</form>
PHP
1
2
3
4
5
6
7
8
<?php
$to = "support@ts15vld.ru";
$from = $_POST['from'];
$name = $_POST['name'];
$message = $_POST['message'];
$phone = $_POST['phone'];
if (!empty($from) && !empty($name) && !empty($message) && !empty($phone))
mail("$to", "$message", "$name", "$phone", 'From:'.$from);
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
08.07.2016, 12:40 8
Цитата Сообщение от Serj190492 Посмотреть сообщение
if (!empty($from) && !empty($name) && !empty($message) && !empty($phone))
Ну тогда уж проверять нужно наличие элементов в массиве, а не сначала брать элемент, а потом проверять есть ли он.
Цитата Сообщение от Serj190492 Посмотреть сообщение
mail("$to", "$message", "$name", "$phone", 'From:'.$from);
Какой смысл в переменной в двойных кавычках? И почему тогда From в одинарных и с конкатенацией, тут как раз логичнее все в двойные кавычки заключить
1
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
08.07.2016, 12:50 9
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Какой смысл
Вот поэтому и написал, чтобы знающие поправили. Я только учусь)

Добавлено через 1 минуту
Цитата Сообщение от Jewbacabra Посмотреть сообщение
проверять нужно наличие элементов в массиве
Т.е. так?
PHP
1
2
3
if(!empty($_POST['name'])) $name = $_POST['name'];
//или
$name = !empty($_POST['name']) ?  $_POST['name'] : null;
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
08.07.2016, 12:54 10
Цитата Сообщение от Serj190492 Посмотреть сообщение
Т.е. так?
Ну да. Еще бы неплохо проверить параметры что $from это email, в остальных нет html.
И параметра $phone у функции mail нет, он должен быть в сообщении
0
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
08.07.2016, 13:19 11
Serj190492, Лучше
PHP
1
$name = isset($_POST['name']) ? trim($_POST['name']) : '';
а потом проверять пустая ли переменная.
0
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
08.07.2016, 13:21 12
Jewbacabra, JimUSA,
Ругайте
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function clean($value) {
    $value = trim($value); //удаляем пробелы в начале и конце строки
    $value = stripslashes($value); //удаляем экранированные символы
    $value = strip_tags($value); //убираем HTML и PHP теги
    $value = htmlspecialchars($value);  //преобразует специальные символы в HTML-сущности
    // ('&' преобразуется в '&amp;' и т.д.)
 
    return $value;
}
 
$to = "support@ts15vld.ru";
if(!empty($_POST['name'])) $name = clean($_POST['name']);
if(!empty($_POST['from'])) $from = filter_var($_POST['from'], FILTER_VALIDATE_EMAIL);
if(!empty($_POST['message']) && !empty($_POST['phone']))
    $message = $_POST['from'] . "Phone: " . $_POST['phone'] . "Name: " . $name;
 
if (isset($name) && isset($from) && isset($message)) mail($to, $name, $message, 'From:' .$from);
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
08.07.2016, 13:25 13
JimUSA, isset($_POST['name']) в данном случае будет всегда, а пустая или нет - это уже другое дело.
0
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
08.07.2016, 13:30 14
Пифагор, подскажите, какие параметры обязательно передаются в mail()?

mail (кому, string subject, сообщение).

Что такое subject?)
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
08.07.2016, 13:33 15
PHP
1
mail($to, $subject, $message, $headers);
$to - кому
$subject - тема
$message - тело письма
$headers - заголовки (кодировка и т д)
0
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
08.07.2016, 13:37 16
Тогда к вышенаписанному можно добавить
PHP
1
$subject = "Обратная связь";
И поменять в mail():
PHP
1
if (isset($name) && isset($from) && isset($message)) mail($to, $subject, $message, 'From:' .$from);
0
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
08.07.2016, 13:50 17
Пифагор, Так может и не быть, в том и дело, разные ситуации бывают.
Если нету, значит пусто, если есть, удаляем пробелы,
а уже в нужном месте проверять на пустоту.
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,190
08.07.2016, 13:54 18
JimUSA, я же написал "в данном случае", ибо
HTML5
1
2
<form action="" method="post">
<input type="text" name="name" />
Тут ее просто не может не быть
0
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
08.07.2016, 13:58 19
Пифагор, А ну тогда ладно.
Но все же, лучше брать не только эту ситуацию, а те что могут быть.

Логичнее $_POST['name'] есть, удаляем пробелы записали, нету, значит пусто.
а пустоту в любом случаи проверить нужно, но это уже другая тема.)))
0
08.07.2016, 13:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2016, 13:58
Помогаю со студенческими работами здесь

Отправка сообщения на почту с формы через виртуальный сервер
С php очень слабо знаком. Нужна форма обратной связи на сайт. Я скачивал разные плагины, они...

Отправка сообщений через PHP скрипт.
Здраствуйте всем. Нигде не могу найти информации, как отправлять сообщения на какой-либо сайт через...

Отправка сообщений на почту
Подскажите, если на сайте есть некая форма для отправки сообщений &lt;form id=&quot;form&quot;&gt; &lt;div...

Отправка сообщений на почту
Доброго времени суток, столкнулся с такой проблемой В общем есть файл mail.php в этом файле есть...


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

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