我不是PHP的专业人士,只是真正开始,并想知道你是否可以帮助我。
我试图通过这封联系表格给我发电子邮件,说明人员姓名和这样的信息。
姓名:弗雷德博客 消息:消息,消息。
但是当我尝试所有我得到的是消息时,我似乎无法在任何地方插入名称变量。
这是代码
<?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" );
?>
答案 0 :(得分:2)
你的论点混淆了一点:
mail( "keiron.lowe@gmail.com", $subject, "Name: $name\nMessage: $message", "From: $email" );
此外,如果不验证电子邮件地址,则不应执行"From: $email"
- 这会使您的脚本处于打开状态以发送垃圾邮件。
答案 1 :(得分:1)
您向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;
?>
答案 2 :(得分:1)