使用PHP表单发送的电子邮件中的字段为空

使用PHP表单发送的电子邮件中的字段为空,php,forms,Php,Forms,如果这是一个容易解决的问题,我提前表示歉意,因为我对学习PHP有些陌生。我找到了相关的问题并尝试了这些答案,但没有一个适用于我的问题 我收到一封来自我的联系人表单的电子邮件,其中一些字段显示,一些字段不显示。在“地址”字段中,我只接收国家/地区,在“可用日期”字段中,我只接收年份。这些都是当前的问题。我想可能是输入id,但现在只有这两个给了我一个问题 我真诚地感谢你能提供的任何帮助 PHP: 您有几个输入具有相同的名称。您需要为每个输入元素指定一个唯一的名称。如果有多个同名的元素,则只会将最后一

如果这是一个容易解决的问题,我提前表示歉意,因为我对学习PHP有些陌生。我找到了相关的问题并尝试了这些答案,但没有一个适用于我的问题

我收到一封来自我的联系人表单的电子邮件,其中一些字段显示,一些字段不显示。在“地址”字段中,我只接收国家/地区,在“可用日期”字段中,我只接收年份。这些都是当前的问题。我想可能是输入id,但现在只有这两个给了我一个问题

我真诚地感谢你能提供的任何帮助

PHP:


您有几个输入具有相同的
名称
。您需要为每个输入元素指定一个唯一的名称。如果有多个同名的元素,则只会将最后一个元素发送到服务器

一个简单的解决方案:

更改您的PHP:

$address = check_input($_POST['address']." ".$_POST['address2']." ".$_POST['address3']." ".$_POST['address4']." ".$_POST['address5']);
更改您的HTML:

<div>
    <input id="element_4_1" name="address" class="element text large" value="" type="text">
    <label for="address" style="font-size: 12px;">Street Address</label>
</div>

<div>
    <input id="element_4_2" name="address2" class="element text large" value="" type="text">
    <label for="address2" style="font-size: 12px;">Address Line 2</label>
</div>

<div class="left">
    <input id="element_4_3" name="address3" class="element text medium" value="" type="text">
    <label for="address3" style="font-size: 12px;">City</label>
</div>

<div class="right">
    <input id="element_4_4" name="address4" class="element text medium" value="" type="text">
    <label for="address4" style="font-size: 12px;">State / Province / Region</label>
</div>

<div class="left">
    <input id="element_4_5" name="address5" class="element text medium" maxlength="15" value="" type="text">
    <label for="address5" style="font-size: 12px;">Postal / Zip Code</label>
</div>

街道地址
地址行2
城市
州/省/地区
邮政编码
您有多个同名的

<input id="element_4_1" name="address" class="element text large" value="" type="text">
<input id="element_4_2" name="address" class="element text large" value="" type="text">

由于
名称
$\u POST
中显示的键,因此您实际上是在用表单中最后一个
name=“address”
覆盖所有输入


每个输入必须具有唯一的名称。你已经在你的
$foo=$\u POST[…]
中有了它,所以为什么你的表单中没有匹配的名称是一个谜。

你在输入字段中使用了相同的名称。。为输入字段中的名称属性指定不同的名称

 <input id="element_4_1" name="streetaddress" class="element text medium" value="" type="text">
  <input id="element_4_2" name="addressline2" class="element text medium" value="" type="text">

就像所有领域的智者一样。。所有其他问题也是如此。

使用不同的名称输入…非常感谢,这非常有效。抱歉,PHP新手,当你不知道自己在寻找什么时,有时很难找到确切问题的答案。我感谢你的帮助。
<input id="element_4_1" name="address" class="element text large" value="" type="text">
<input id="element_4_2" name="address" class="element text large" value="" type="text">
 <input id="element_4_1" name="streetaddress" class="element text medium" value="" type="text">
  <input id="element_4_2" name="addressline2" class="element text medium" value="" type="text">
$doorNo = $_POST['streetaddress'];
$streetName= $_POST['addressline2'];