Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 150
1

Как отправить письмо с текстом из div?

21.06.2015, 00:05. Просмотров 2931. Ответов 11
Метки нет (Все метки)


Здравствуйте. Есть такая форма и div
HTML
HTML5
1
2
3
4
5
6
7
8
9
10
<form method="POST" id="feedback-form">
Как к Вам обращаться:
<input type="text" name="nameFF" required placeholder="фамилия имя отчество" x-autocompletetype="name">
Email для связи:
<input type="email" name="contactFF" required placeholder="адрес электронной почты" x-autocompletetype="email">
Ваше сообщение:
<textarea name="messageFF" required rows="5"></textarea>
<input type="submit" value="отправить">
</form>
<div id="title" name="title">Название статьи</div>
PHP
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
if (array_key_exists('messageFF', $_POST)) {
   $to = 'yandex@yandex.ru';
   $subject = 'Заполнена контактная форма с '.$_SERVER['HTTP_REFERER'];
   $subject = "=?utf-8?b?". base64_encode($subject) ."?=";
   $message = "Имя: ".$_POST['nameFF']."\nEmail: ".$_POST['contactFF']."\nСообщение: ".$_POST['messageFF'];
   $headers = 'Content-type: text/plain; charset="utf-8"';
   $headers .= "MIME-Version: 1.0\r\n";
   $headers .= "Date: ". date('D, d M Y h:i:s O') ."\r\n";
   mail($to, $subject, $message, $headers);
   echo $_POST['nameFF'];
}
?>
Вопрос: как достать из div текст и отправить его письмом?
Помогите пожалуйста. Я уже гуглил, но если что-то находил, то толком не мог привязать к этому коду...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2015, 00:05
Ответы с готовыми решениями:

При попытке отправить письмо с почты mail.ru приходит ответное письмо с содержанием, что письмо не отправлено
При попытке отправить письмо с почты mail.ru приходит ответное письмо с содержанием, что письмо не...

Как отправить письмо
Всем здравствуйте. Я хочу отправить письмо себе на почтовый ящик(отправить с своего компьютера на...

Как отправить письмо из VB?
Как отправить письмо из Вб?

как отправить письмо
как отправить письмо на почту через одну минуту?

11
Программист
307 / 182 / 176
Регистрация: 05.12.2013
Сообщений: 683
Записей в блоге: 5
21.06.2015, 03:31 2
Вот вам пример, как спарсить этот текст:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
$text = <<<endl
<form method="POST" id="feedback-form">
Как к Вам обращаться:
<input type="text" name="nameFF" required placeholder="фамилия имя отчество" x-autocompletetype="name">
Email для связи:
<input type="email" name="contactFF" required placeholder="адрес электронной почты" x-autocompletetype="email">
Ваше сообщение:
<textarea name="messageFF" required rows="5"></textarea>
<input type="submit" value="отправить">
</form>
<div id="title" name="title">Название статьи</div>
endl;
 
if ( preg_match('#<div id="title" name="title">(.*?)</div>#', $text, $matches) ) {
    echo $matches[1];
} else {
    echo "Не найдено";
}
 
?>
Дальше уже сможете его подставить в отправляемое письмо.
0
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 959
21.06.2015, 04:09 3
Лучший ответ Сообщение было отмечено drkrol как решение

Решение

если текст будет генерироваться, то можно так например
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$title = 'Название статьи';
?>
<form method="POST" id="feedback-form">
Как к Вам обращаться:
<input type="text" name="nameFF" required placeholder="фамилия имя отчество" x-autocompletetype="name">
Email для связи:
<input type="email" name="contactFF" required placeholder="адрес электронной почты" x-autocompletetype="email">
Ваше сообщение:
<textarea name="messageFF" required rows="5"></textarea>
<input type='hidden' name='title' value='<?=$title?>' />
<input type="submit" value="отправить">
</form>
<div id="title" name="title"><?=$title?></div>
или же через js
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form method="POST" id="feedback-form">
Как к Вам обращаться:
<input type="text" name="nameFF" required placeholder="фамилия имя отчество" x-autocompletetype="name">
Email для связи:
<input type="email" name="contactFF" required placeholder="адрес электронной почты" x-autocompletetype="email">
Ваше сообщение:
<textarea name="messageFF" required rows="5"></textarea>
<input type='hidden' id='hiden' name='title' value='' />
<input type="submit" value="отправить">
</form>
<div id="title" name="title">Название статьи</div>
</body>
</html>
<script>       
var title = document.getElementById('title');
var hidenTitle = document.getElementById('hiden');
var textTitle = title.innerHTML;
hidenTitle.textTitle;
</script>
а если jQuery используете то
Javascript
1
2
3
<script>       
    $('#hiden').val($('#title').val());
</script>
1
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 150
21.06.2015, 17:30  [ТС] 4
Сайт находится на движке DLE. В жизни код выглядит так
HTML5
1
<div id="title">{title}</div>
{title} - переменная,отвечающая за название статьи

Добавлено через 20 минут
prudkiy, Попробовал все варианты. Ни один не работает.
В php должно быть так?
PHP
1
"\nЗаголовок: ".$_POST['title'];
Добавлено через 18 минут
Подождите... Эта строка из кода должна отправлять на почту "123"?
HTML5
1
<input type='hidden' id='hiden' name='title' value='123' />
PHP
1
"\nЗаголовок: ".$_POST['title'];
Верно? только почему то у меня приходит только

Заголовок:
0
1932 / 1761 / 822
Регистрация: 23.01.2014
Сообщений: 6,205
21.06.2015, 17:52 5
Лучший ответ Сообщение было отмечено drkrol как решение

Решение

Цитата Сообщение от prudkiy Посмотреть сообщение
hidenTitle.textTitle;
Наверное это надо заменить на
Javascript
1
hidenTitle.value = textTitle;
?

И да, получать как $_POST['title'].
1
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 150
21.06.2015, 18:01  [ТС] 6
pav1uxa, не приходит...
0
1932 / 1761 / 822
Регистрация: 23.01.2014
Сообщений: 6,205
21.06.2015, 18:37 7
Цитата Сообщение от drkrol Посмотреть сообщение
pav1uxa, не приходит...
Не может быть. Исправленный код целиком покажите
1
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 150
21.06.2015, 21:39  [ТС] 8
Переделал код... Суть не изменилась
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<form action="contacts.php" method="post" >
<p><label>Введите имя <input type="text" name="name" ></label></p>
<p><label>Введите пароль <input type="password" name="password" ></label></p>
<p><input id="submit" type="submit" value="Кнопка" name="button"></p>
</form>
<div id="title" name="title">Заголовок</div>
<script>       
var title = document.getElementById('title');
var hidenTitle = document.getElementById('hiden');
var textTitle = title.innerHTML;
hidenTitle.value = textTitle;
</script>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<meta charset="UTF-8" />
<?php
 
$result = mail("test@test.ru","Труляля","Имя:$_POST[name] \nПароль: $_POST[password] \nЗаголовок: $_POST[title] ");
 
if ($result) {
echo "<p>Good</p>";
}
else {
echo "<p>Error</p>";
}
?>
0
502 bad gateway
Эксперт PHP
4499 / 3659 / 1538
Регистрация: 24.04.2014
Сообщений: 10,780
21.06.2015, 21:54 9
Цитата Сообщение от drkrol Посмотреть сообщение
Переделал код... Суть не изменилась
а ошибки js в консоли посмотреть, посмотреть в отладчике что отправляется...
где элемент с id hiden?
1
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 150
21.06.2015, 22:08  [ТС] 10
Это потому что я ошибся и не узрел этого. Всем спасибо огромное! Дай вам бог здоровья)
0
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 959
21.06.2015, 22:57 11
Цитата Сообщение от pav1uxa Посмотреть сообщение
Наверное это надо заменить на
точно, проеб... ))
Цитата Сообщение от drkrol Посмотреть сообщение
Это потому что я
люблю самокритику )))
наверно вот надо было так
PHP
1
$_POST["name"]
а не так
PHP
1
$_POST[name]
0
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 150
22.06.2015, 01:31  [ТС] 12
да нет, всё верно. с $_POST[name] без кавычек всё работает. Еще раз спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2015, 01:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как отправить письмо на Email?
Всем привет) Как сделать Если user забыл пароль что бы на его адрес отправилось новый пароль и...

Как отправить анонимное письмо
Здравствуйте! Как на C# отправить письмо анонимно. а то Message.From обламывает все планы.

Как отправить письмо на e-mail
:DDD всем дарова и сразу к делу: как отправить из программы сообщение на свой @mail????

Как анонимно отправить письмо?
Привет Форумчане и Админы, может кто-то знает как реализовать анонимную отправку письма с...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.