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

问题描述 投票:1回答:3

我有一个请求执行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("[email protected]","Заказ",$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("[email protected]", "Заказ", $message, $headers);
}
?>

这就是我得到的结果:http://postimg.org/image/4gj5gh22p/不幸的是我仍然有“名字”而不是“First_Name”

php html contact-form
3个回答
1
投票

获取表单的name是不可能的,因为它不是作为POST数据的一部分发送的。

this post的另一种选择建议在表单中添加一个隐藏的输入元素,其名称与表单相同:

<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>

然后,您可以使用$_POST['First Form'];获取名称。


0
投票
<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>

并使用它

$message .= $POST['form']

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("[email protected]", "Заказ Парня", $message, $headers);
}
?>

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

纳扎尔 380953648591 名字

© www.soinside.com 2019 - 2024. All rights reserved.