繁体   English   中英

PHP联系人表单编辑

[英]PHP Contact form editing

我不是PHP的专业人士,实际上只是开始工作,想知道您是否可以帮助我。

我正在尝试获取此联系表格,以电子邮件方式向我发送“人名”和类似的消息。

名称:Fred Blogs消息:消息,消息。

但是当我尝试得到的只是消息时,我似乎无法在任何地方插入name变量。

这是代码

<?php 
$name = $_REQUEST['name'] ;
$email = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;
$subject = $_REQUEST['subject'] ;

mail( "keiron.lowe@example.com", "Name: $name", "$subject", $message, "From: $email" );
header( "Location:contact.php" );
?>

您已经将参数混为一谈了:

mail( "keiron.lowe@gmail.com", $subject, "Name: $name\nMessage: $message", "From: $email" );

另外,在不验证电子邮件地址的情况下,您不应执行"From: $email" -这将使您的脚本易于发送垃圾邮件。

您将太多参数传递给mail()函数。 尝试这样的事情:

<?php 
ob_start();
$name = $_POST['name'] ;
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$message = $_POST['message'] ;
$subject = strtr($_POST['subject'],array(':' => ' ', "\r" => ' ', "\n" => ' '));

$message = "Name: {$name}\r\nmessage: {$message}";
mail("redacted@example.com", $subject, $message, "From: {$email}");
header("Location: contact.php", true, 302);
ob_end_clean();
die;
?>

看看mail()的手册:

mail("keiron.lowe@gmail.com", "Name: $name", $message, "From: $email");

但是无论如何,我强烈建议您不要依赖PHP的mail()函数,因为它的返回值并不表示是否确实发送了邮件。 改用phpmailer进行邮件发送。

最好的祝愿,
法比安

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM