Мне нужно добавить контактную форму на веб-сайт, который я создаю, и нашел полезный бит кода, который кто-то любезно поделил для тех, кто не имеет опыта работы с PHP.
После вставки и редактирования кода на странице и загрузки его на промежуточный сайт я протестировал его с помощью моего адреса gmail, и он отлично работает. Единственное, что текст электронной почты не имеет разрывов строк.
Вот код:
<?php if ($_POST["email"]<>'') { $ToEmail = 'myemailadress@gmail.com'; $EmailSubject = 'Site contact form'; $mailheader = "From: ".$_POST["email"]."\r\n"; $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; $MESSAGE_BODY = "Name: ".$_POST["name"].""; $MESSAGE_BODY .= "Email: ".$_POST["email"].""; $MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]).""; mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); ?> Your message was sent <?php } else { ?> <form action="contactus.php" method="post"> <table width="400" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="29%" class="bodytext">Your name:</td> <td width="71%"><input name="name" type="text" id="name" size="32"></td> </tr> <tr> <td class="bodytext">Email address:</td> <td><input name="email" type="text" id="email" size="32"></td> </tr> <tr> <td class="bodytext">Comment:</td> <td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"> </textarea></td> </tr> <tr> <td class="bodytext"> </td> <td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td> </tr> </table> </form> <?php }; ?>
Это то, что я получаю, когда оно приходит в мой почтовый ящик:
Имя: Mr J BloggsEmail: email@address.comComment: Текст комментариев.
- Почему символы escape добавляются к значению скрытого ввода
- Удалите% 5B% 5D из URL при отправке формы
- Правила CSS не применяются к динамически генерируемым элементам
- Форма редактирования cann't получить следующие данные для одного и того же пользователя
- Не удается сохранить холст HTML5 как изображение на сервере
Я бы хотел, чтобы это выглядело так:
Имя: Mr J Bloggs
Электронная почта: email@address.com
Комментарий: текст комментариев.
Заранее благодарю за любую помощь.
Просто добавьте разрыв строки после каждой строки:
$MESSAGE_BODY = "Name: ".$_POST["name"]."<br/>"; $MESSAGE_BODY .= "Email: ".$_POST["email"]."<br/>"; $MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"]);
Ты должен сделать
$MESSAGE_BODY = "Name: ".$_POST["name"]."\n"; $MESSAGE_BODY .= "Email: ".$_POST["email"]."\n"; $MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."\n";