Добавление комментариев отключено
День добрый!
Была ли у кого-то такая проблема, что при получении письма на почту текст самого сообщения находится в поле "Тема сообщения", а поле "Текст сообщения" - пустое?
Форму сделал здесь в генераторе, все работает прекрасно, обратную ссылку не стирал )))
Заранее благодарен!
22.02.2012 Александр
Обратная ссылка ни на что не влияет, если не нравится можете стирать смело. Это просто благодарность автору :)
Если ждете помощи, то хотя бы напишите сюда свой код.
22.02.2012 Алексей
1. html
<form action="mail.php" method="post" enctype="multipart/form-data">
Ф.И.О. <span class="star">*</span>
<input type="text" name="input_name[0]">
<input type="hidden" name="check[]" value="1"> <br />
E-mail <span class="star">*</span>
<input type="text" name="input_name[1]">
<input type="hidden" name="check[]" value="1"> <br />
Номер телефона
<input type="text" name="input_name[2]">
<input type="hidden" name="check[]" value="2"> <br />
Выбор файла для отправки
<input type="file" name="file_name[]" size="22"> <br />
Тема сообщения
<select name="input_name[3]">
<option value="1" ?if(htmlspecialchars($_POST['input_name'][4]) == "1") echo ' SELECTED';?>Оформить заказ</option>
<option value="2" ?if(htmlspecialchars($_POST['input_name'][4]) == "2") echo ' SELECTED';?>Записаться на замер</option>
<option value="3" ?if(htmlspecialchars($_POST['input_name'][4]) == "3") echo ' SELECTED';?>Задать вопрос менеджерам</option>
<option value="4" ?if(htmlspecialchars($_POST['input_name'][4]) == "4") echo ' SELECTED';?>Предложение по сотрудничеству</option>
</select>
<input type="hidden" name="check[]" value="2"> <br />
Текст сообщения <span class="star">*</span>
<textarea rows="10" name="input_name[4]"></textarea>
<input type="hidden" name="check[]" value="1"> <br />
Код подтверждения:
<div class="clr">
</div>
<img id="captcha" align="absmiddle" src="captcha.php">
<input type="text" id="code" name="code"> <br />
<div class="clr">
</div>
<input id="submit" type="submit" value="Отправить" name="submit">
</form>
<div id="polya">
<span class="star">*</span> - поля, которые необходимо заполнить
<!--А это просто благодарность создателям, можете стереть, можете поставить нашу ссылочку в другом месте, в общем на Ваше усмотрение. Спасибо! -->
<a href="www.php-mail.ru">©php-mail</a>
<!--конец благодарности :))-->
</div>
2.php
<?
//ВНИМАНИЕ!!!! СТРОКА session_start (); ДОЛЖНА ИДТИ В САМОМ НАЧАЛЕ ИСПОЛНЯЕМОГО ФАЙЛА
session_start ();
error_reporting(0);
function show_form()
{
$_SESSION['code'] = rand(1000, 9999);
?>
<?
}
function complete_mail() {
if (empty($_POST['code']) or empty($_SESSION['code'])) {
echo '<div style="text-align: center; margin: 35px 0 0 0;"><strong>Вы не указали код подтверждения</strong><br /><br /><br /><a href=kontakty.html>Нажмите</a>, чтобы вернуться на главную страницу</div>';
$sendemail = 'No';
} elseif ($_POST['code'] != $_SESSION['code']) {
echo '<div style="text-align: center; margin: 35px 0 0 0;"><strong>Код подтверждения не совпадает</strong><br /><br /><br /><a href=kontakty.html>Нажмите</a>, чтобы вернуться на главную страницу</div>';
$sendemail = 'No';
}
$empty_input[] = 'Ф.И.О.';
$empty_input[] = 'E-mail';
$empty_input[] = 'Номер телефона';
$empty_input[] = 'Тема сообщения';
$empty_input[] = 'Текст сообщения';
for ($i=0; $i<count($_POST['input_name']); $i++) {
$_POST['input_name'][$i] = substr(htmlspecialchars(trim($_POST['input_name'][$i])), 0, 100000);
if(substr(htmlspecialchars(trim($_POST['check'][$i])), 0, 1) == 1) {
if(empty($_POST['input_name'][$i])) {
$sendemail = 'No';
echo '<div style="text-align: center; margin: 35px 0 0 0;"><strong>Необходимо заполнить поле '.$empty_input[$i].'!</strong><br /><br /><br /><a href=kontakty.html>Нажмите</a>, чтобы вернуться на главную страницу</div>';
}
}
}
if($sendemail == 'No') show_form();
$mess = '';
$mess .= '<b>Ф.И.О.: </b>'.$_POST['input_name'][0].'<br />';
$mess .= '<b>E-mail: </b>'.$_POST['input_name'][1].'<br />';
$mess .= '<b>Номер телефона: </b>'.$_POST['input_name'][2].'<br />';
$mess .= '<b>Тема сообщения: </b>'.$_POST['input_name'][4].'<br />';
$mess .= '<b>Текст сообщения: </b>'.$_POST['input_name'][5].'<br />';
// подключаем файл класса для отправки почты
// если Вы забыли его скачать - www.php-mail.ru/class.phpmailer.zip
require 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->From = 'Rolleti.com'; // от кого email
$mail->FromName = 'Rolleti.com'; // от кого имя
$mail->AddAddress('goldmack@yandex.ru', 'goldmack@yandex.ru'); // кому - адрес, Имя
$mail->IsHTML(true); // выставляем формат письма HTML
$mail->Subject = 'Письмо с сайта rolleti.com'; // тема письма
$mail->Body = $mess;
// если был файл, то прикрепляем его к письму
if(isset($_FILES['file_name'])) {
if($_FILES['file_name']['error'][0] == 0){
$mail->AddAttachment($_FILES['file_name']['tmp_name'][0], $_FILES['file_name']['name'][0]);
}
}
if($sendemail != 'No'){
// отправляем наше письмо
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
echo '<div style="text-align: center; margin: 35px 0 0 0;">Спасибо за отправку Вашего сообщения.<br /><br /><br />Надеемся, что наше предложение Вас заинтересует<br />и наше сотрудничество будет долгосрочным и плодотворным.<br /><br /><br /><a href=index.html>Нажмите</a>, чтобы вернуться на главную страницу</div>';
}
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>
22.02.2012 Александр
$mess .= '<b>Тема сообщения: </b>'.$_POST['input_name'][4].'<br />';
$mess .= '<b>Текст сообщения: </b>'.$_POST['input_name'][5].'<br />';
замените на
$mess .= '<b>Тема сообщения: </b>'.$_POST['input_name'][3].'<br />';
$mess .= '<b>Текст сообщения: </b>'.$_POST['input_name'][4].'<br />';
22.02.2012 Алексей
Спасибо, сработало! Весьма благодарен!
Вопрос был задан на этой странице. Но если Вам это не интересно, могу предложить Вам почитать про платный хостинг.