html和php从联系表单填写主题行

时间:2017-05-17 19:03:54

标签: php html web html-email subject

所以我创建了一个页面,其中包含几个指向Web表单的超链接(例如,volvo将链接到一个表单,该表单通过电子邮件发送到volvo网站,saab将链接以形成电子邮件到saab表单)但是我有一点点更改主题行时遇到问题。而不是创建8或9个不同的PHP发送电子邮件文件。我可以简单地从表单中更改主题行吗?这是我在尝试但却无法实现的目标?我只想从我的表单中获取标题,并使用它来每次填写主题行。

发送电子邮件的php文件

$email_subject = $_POST["subject"];

带表单的html文件

<h1 name="subject" value="Volvo Interest">Volvo Form</h1>

我不知道是否需要它,但这里也是我的邮件标题

$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers); 

使用这些我得到(没有主题)

1 个答案:

答案 0 :(得分:3)

好的,所以要将一个SUBJECT变量发送到PHP脚本而没有可见的输入文本框,你可以简单地使用它:

<form action="" method="POST">
Volvo Form: <input type="hidden" name="subject" value="Volvo Interest">
</form>

哦,如果您的PHP位于与HTML表单不同的位置,那么请不要忘记指定 action =&#34; your_php_file_location_here.php&#34; 而不是离开它是空白的,填写表格后将提交到浏览器所在的相同位置。

...从我认为我对你的问题的理解,你不希望黑客在它到达PHP脚本之前修改该变量,所以在这种情况下,我不建议你把它放在&#34;沃尔沃兴趣&#34;在输入中。而是在 HTML表单

中使用这样的数字
<form action="" method="POST">
Volvo Form: <input type="hidden" name="subject" value="3">
</form>

...然后在 PHP脚本中,使用switch / case语句选择要用于主题的正确单词。这样,人们就无法修改你的话语:

switch($_POST['subject']){
case 1:
$email_subject = "Acura Interest";
break;
case 2:
$email_subject = "Saab Interest";
break;
case 3:
$email_subject = "Volvo Interest";
break;
// case 4: ...
default: // Just in case somebody sends a number case that does not exist
$email_subject = "Unknown Interest";
}