如何获取请求执行php文件的表单名称的值

时间:2016-05-07 20:27:09

标签: php html contact-form

我有一个请求执行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);
  ?>

如何添加表单名称作为我发送电子邮件的一部分? 如何将姓名,电话,表单名称的值设置在电子邮件正文的不同行中?
(Rigt现在收到的电子邮件是这样的:
名称+ 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/ 不幸的是,我仍然得到了&#34; name&#34;而不是&#34; First_Name&#34;

3 个答案:

答案 0 :(得分:1)

无法获取表单的Switch,因为它不是作为POST数据的一部分发送的。

this post的替代方案建议在表单中添加一个隐藏的输入元素,其名称与表单相同:

name

然后,您可以使用<form name="First Form" method="post" action="email_script.php"> <input type="hidden" name="First Form"> <input type="text" name="name" placeholder="Ваше Имя"> <input type="text" name="telephone" placeholder="Ваш Телефон"> <input type="submit" value="ОСТАВИТЬ ЗАЯВКУ"> </form> 获取名称。

答案 1 :(得分:0)

SELECT [Serial Number] , Type , Model , [Activation Date] , IMEI , 
    [Phone Number] , [Fax Number] , [Data Number] , PIN1 , PUK1 , 
    PIN2 , PUK2 , IMSI , ICCID , Provider , Plan 
FROM [FBB Terminals] 
WHERE [Vessel Name] = 'AAL Salamina'

并使用

使用它
<form name="First Form" method="post" action="emailscript.php">
 <input type="hidden" name="form" value="First Form">
 <input type="text" name="name" placeholder="Ваше Имя">
 <input type="text" name="telephone" placeholder="Ваш Телефон">
 <input type="submit" value="ОСТАВИТЬ ЗАЯВКУ">
</form>

答案 2 :(得分:0)

所以最后我得到了解决方案(我哥哥帮助了我)。

这是我的HTML代码:

<form name="First_Name" method="post" action="email_script.php">
<input type="hidden" name="form_name" value="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 .= $_POST["form_name"]."<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);
}
?>

它通过隐藏输入工作,结果电子邮件如下所示:


纳扎尔
380953648591
名字