X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите пожалуйста новичку:-)PHP скрипт обработчик формы, не доходят письма
hmarno_hb
hmarno_hb
Topic Starter сообщение 12.2.2014, 15:03; Ответить: hmarno_hb
Сообщение #1


Здравствуйте! Я впервые столкнулся с созданием формы отправки писем, и прошу вашей помощи. Проблема в том, что письма не приходят на почтовый ящик. В чем тут ошибка? Пожалуйста помогите!

Есть код формы:

<form class="news-letter" action="join.php" method="post">
<h1 class="news-letter-title">Получите <strong>бесплатную</strong><br>консультацию + 2 подарка</h1>
<input type="text" class="news-letter-input" name="number" placeholder="Ваш телефон" autofocus>
<input type="text" class="news-letter-input" name="name" placeholder="Ваше Имя" autofocus>
<input type="submit" value="Оставить заявку" class="news-letter-button">
</form>

Есть файл обработчик этой формы: join.php

<?php
$namber = isset($_POST['namber'])?$_POST['namber']:'';
$name = isset($_POST['name'])?$_POST['name']:'';

$address = 'alex555@gmail.com';
$sub = "Сообщение из 15-го выпуска рассылки";
$mes = "Автор назвался: $name \nУказал свой телефон: $namber";
$verify = mail ($sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$name");
if ($verify == 'true')
{
echo "Сообщение отправлено";
}
else
{
echo "Сообщение не отправлено";
}
?>
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Asonov
Asonov
сообщение 12.2.2014, 20:15; Ответить: Asonov
Сообщение #2


[PHP]<?php
$namber = isset($_POST['namber'])?$_POST['namber']:'';
$name = isset($_POST['name'])?$_POST['name']:'';

$address = 'alex555@gmail.com';
$sub = "Сообщение из 15-го выпуска рассылки";
$mes = "Автор назвался: $name \nУказал свой телефон: $namber";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$name");
if ($verify == 'true')
{
echo "Сообщение отправлено";
}
else
{
echo "Сообщение не отправлено";
}
?> [/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 12.2.2014, 21:52; Ответить: Den1xxx
Сообщение #3


(Asonov @ 12.2.2014, 23:15) *
if ($verify == 'true')
{
echo "Сообщение отправлено";
}
else
{
echo "Сообщение не отправлено";
}

Что такое if ($verify == 'true')? Почему не if ($verify)?
И всё это на самом деле сокращается так:
[PHP]echo ($verify ? "Сообщение отправлено" : "Сообщение не отправлено" );[/PHP]
И вообще весь код должен быть обрамлен if( isset($_POST['namber'])||isset($_POST['namber']))
Иначе будете получать письмо при каждом заходе на страницу, даже без данных:)
[PHP]
<?php
if ( isset($_POST['name']) || isset($_POST['namber'])) {
$address = 'alex555@gmail.com';
$sub = "Сообщение из 15-го выпуска рассылки";
$mes = "Автор назвался: $_POST[namber] \nУказал свой телефон: $_POST[name]";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain;
charset = utf-8\r\nFrom:$_POST[name]");
echo ($verify ? "Сообщение отправлено" : "Сообщение не отправлено" );
}
?>
[/PHP]
Но и это ещё не всё.
Тема письма будет кракозябрами приходить при некоторых раскладах:)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 13.2.2014, 0:10; Ответить: alexdrob
Сообщение #4


(Den1xxx @ 13.2.2014, 00:52) *
И вообще весь код должен быть обрамлен if( isset($_POST['namber'])||isset($_POST['namber']))

(Den1xxx @ 13.2.2014, 00:52) *
if ( isset($_POST['name']) || isset($_POST['namber'])) {

и получим Notice если чего то нет?
скажете не получим, так как оба поля в форме, и если передано одно, то и второе?
ок, тогда зачем две иссета?
выходит что код из поста 2 более устойчив к ошибкам

(Den1xxx @ 13.2.2014, 00:52) *
И всё это на самом деле сокращается так:

(Den1xxx @ 13.2.2014, 00:52) *
echo ($verify ? "Сообщение отправлено" : "Сообщение не отправлено" );

оно ещё сокращается так:
[PHP]echo $verify ? "Сообщение отправлено" : "Сообщение не отправлено";[/PHP]
или даже так
[PHP]echo 'Сообщение ', $verify ? '' : 'не ', 'отправлено';[/PHP]


сорри, просто делать не чего :(
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
hmarno_hb
hmarno_hb
Topic Starter сообщение 13.2.2014, 10:42; Ответить: hmarno_hb
Сообщение #5


Спасибо всем, кто ответил:goodpost: Все получилось, форма отправляет письма, а самое главное, что они доходят. Ответьте пожалуйста еще на один вопрос. После отправки письма, перекидывает на страницу где написано "Сообщение отправлено", а как сделать с этой страницы автоматическое перенаправление на главную страницу сайта?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 13.2.2014, 11:23; Ответить: alexdrob
Сообщение #6


вместо сообщение отправлено?
вместо
[PHP]echo 'Сообщение отправлено';[/PHP]
напишите
[PHP]header('Location: /');[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
hmarno_hb
hmarno_hb
Topic Starter сообщение 13.2.2014, 11:34; Ответить: hmarno_hb
Сообщение #7


Спасибо alexdrob!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 13.2.2014, 13:57; Ответить: Den1xxx
Сообщение #8


(alexdrob @ 13.2.2014, 03:10) *
f ( isset($_POST['name']) || isset($_POST['namber'])) {
и получим Notice если чего то нет?

Что Вы курите?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 13.2.2014, 14:24; Ответить: alexdrob
Сообщение #9


о как
только из уважения к Вам, не поленюсь и напишу код
[PHP]<?php

if ( isset($_POST['name']) || isset($_POST['namber'])) {
$address = 'alex555@gmail.com';
$sub = "Сообщение из 15-го выпуска рассылки";
$mes = "Автор назвался: $_POST[namber] \nУказал свой телефон: $_POST[name]";
}

?>

<form method="post">
<input type="text" name="name"/>
<input type="submit"/>
</form>[/PHP]
Жмём отправить и
Notice: Undefined index: namber in D:\Apache\htdocs\test.php on line 6
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 13.2.2014, 14:25; Ответить: alexdrob
Сообщение #10


И перед Вашим следующим сообщением, о том что поле в форме должно быть, прочтите внимательно пост 4

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Продам скрипт rtb exchange suite - система перепродажи трафика dsp/ssp в реальном времени.
5 buypushplatform 4222 Сегодня, 21:02
автор: 100ftd
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 728 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) "Извините, что ожидание затянулось, но не думайте, пожалуйста, что мы про вас забыли. Мы заводим задачи по всем обращениям и контролируем работу над ними самым тщательным образом."
Вопрос
0 kuz999 1245 5.2.2024, 14:06
автор: kuz999
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3416 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1243 24.11.2023, 14:46
автор: alexey


 



RSS Текстовая версия Сейчас: 23.4.2024, 21:48
Дизайн