表格提交

时间:2013-03-06 14:55:12

标签: php

我有一个表单HTML / PHP,简单,名称,主题和评论,发送到我的雅虎邮箱,我有两个问题,textarea评论也发送HTML标签,如果有人提出新行(输入)如何删除它,并在接收电子邮件时我在主题中获得服务器/主机名,是否有办法制作一些通用主题,如我的网站的名称或类似的东西而不是主机名?

if(!isset($_POST['submit']))
{
$ToEmail = 'wired@yahoo.com';
$EmailSubject = 'Pitanje sa site.com';
$mailheader = "From :". $_POST["email"]. "\r\n";
$mailheader .= "Reply to :". $_POST["email"]. "\r\n";
$mailheader .= "Ova poruka sadrzi pitanje postavljeno na www.site.com \r\n";
$MESSAGE_BODY = "Ime : " .$_POST["name"]." \r\n";
$MESSAGE_BODY .= "Email : " .nl2br($_POST["email"])." \r\n";
$MESSAGE_BODY .= "Naslov : " .$_POST["subject"]." \r\n";
$MESSAGE_BODY .= "Poruka : " .nl2br($_POST["feedback"])." \r\n";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
echo "Vaša poruka je uspješno poslana! Kliknite <a href=\"index.html\">ovde</a> za početnu stranu ";
};

3 个答案:

答案 0 :(得分:3)

好的,我真的不明白你的问题,但在这里......

1)您要删除HTML标签吗?如果是,请使用strip_tags()函数

2)您必须发送标题。例如,如果您使用mail()函数,则必须执行以下操作:

$to = 'destination@example.com';
$subject = 'Subject';
$message = 'Your Message';
$headers = 'From: Your Name <email@example.com>';
mail($to, $subject, $message, $headers);

答案 1 :(得分:0)

您可以通过以下方式发送电子邮件:

$to = "email@host.com";
$subject = "Your subject here";
$body = "The comment values here";
if (mail($to, $subject, $body)) {
    echo("<p>Message successfully sent!</p>");
} else {
    echo("<p>Message delivery failed...</p>");
}

删除html新行,您可以使用函数str_replace("<br/>","\n", $body);

或使用正则表达式的更好方法

$body = preg_replace("/<br */?>/","\n",$body); 

答案 2 :(得分:0)

我认为您可以使用“nl2br”正确格式化textarea。

另外,对于标题,您可以将它们格式化为您想要的格式,如果您使用带有“From”的标题,则应该删除服务器的名称:

$headers = 'From: Me <me@example.com>' . "\r\n";

然后

mail($to, $subject, $message, $headers);