【发布时间】:2016-09-02 18:22:14
【问题描述】:
我有一个请求执行 php 文件的表单
表格代码如下:
<form name="First Form" method="post" action="email_script.php">
<input type="text" name="name" placeholder="Ваше Имя">
<input type="text" name="telephone" placeholder="Ваш Телефон">
<input type="submit" value="ОСТАВИТЬ ЗАЯВКУ">
</form>
这里是php代码:
<?php
// the message
$message .= $_POST["name"];
$message .= $_POST["telephone"];
// use wordwrap() if lines are longer than 70 characters
$message = wordwrap($message,70);
// send email
mail("nsaann@gmail.com","Заказ",$message);
?>
如何将表单名称添加到我通过电子邮件发送的消息中?
如何使姓名、电话、表单名称的值位于电子邮件正文的不同行中?
(现在我收到的电子邮件是这样的:
姓名+1234567890
但我更希望它是这样的:
名称
+1234567890)
我问的原因是因为我想创建具有多个表单的多个 html 文件,所有这些文件都请求执行相同的 email_script.php,并且我想知道每个单独的页面在收集订单时的执行情况。谢谢
所以我编辑了代码,这里是:
<form name="First_Name" method="post" action="email_script.php">
<input type="hidden" name="First Name">
<input type="text" name="name" placeholder="Ваше Имя">
<input type="text" name="telephone" placeholder="Ваш Телефон">
<input type="submit" value="ОСТАВИТЬ ЗАЯВКУ">
</form>
php代码:
<?php
if(isset($_POST["name"]) and isset($_POST["telephone"])){
$message = $_POST["name"]."<br>"; //use <br> and set the email headers to: Content-type: text/html
$message .= $_POST["telephone"]."<br>";
$message .= key($_POST); //form name
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail("nsaann@gmail.com", "Заказ", $message, $headers);
}
?>
这是我得到的结果:http://postimg.org/image/4gj5gh22p/ 不幸的是,我仍然得到“名字”而不是“名字”
【问题讨论】:
-
要获取表单名称,请使用
$formName = key($_POST);。您能否澄清一下:“我怎样才能使姓名、电话、表格名称的值出现在电子邮件正文的不同行中?”您能举个例子说明什么吗?你需要, -
请阅读澄清帖子
-
你所拥有的和你需要的都是一样的。
-
请阅读澄清后添加的html
-
我添加了行 $formName = key($_POST);和 $message .= $formName;我收到的结果电子邮件是这样的:Nazar+380953648591name 虽然它应该是 Nazar+380953648591First Name
标签: php html contact-form