我在POST方法中提交表单,该方法最初发送一封包含表单信息的电子邮件。
这里的问题是,当填写电子邮件输入并尝试var_dump时,我得到的只是string(0) ""
,我无法弄清楚原因。
以下表格:
<form id="form" class="form" name="postuler" method="post" action="/sources/site/composants/recrutement/receive.php" enctype="multipart/form-data" novalidate>
<div style="width:auto; float:left; padding-left:15px;">
<label for="nom">Votre nom <span class="required">*</span></label>
<input type="text" class="nom" placeholder="ex: Doe" name="nom" id="nom" maxlength="40" required="required"/>
<br/>
<div class="not-hidden">
<label for="mail">Adresse e-mail <span class="required">*</span></label>
<input type="email" class="email" placeholder="ex: jdoe@exelcia-it.com" name="mail" id="email" maxlength="40" required="required"/>
</div>
<div class="hidden-fields">
<label for="prenom">Votre prénom <span class="required">*</span></label>
<input type="text" class="prenom" placeholder="ex: John" name="prenom" id="nom" maxlength="40" required="required"/>
</div>
</div>
<div style="width:auto; float:left; padding-left:15px">
<div class="not-hidden">
<label for="prenom">Votre prénom <span class="required">*</span></label>
<input type="text" class="prenom" placeholder="ex: John" name="prenom" id="nom" maxlength="40" required="required"/>
</div>
<div class="hidden-fields">
<label for="mail">Adresse e-mail <span class="required">*</span></label>
<input type="email" class="email" placeholder="ex: jdoe@exelcia-it.com" name="mail" id="email" maxlength="40" required="required"/>
</div>
<input type="submit" name="upload" id="envoyez" value="Valider" class="postu"/>
</form>
我尝试使用以下命令调试邮件变量:
if(isset($_POST['mail'])){
var_dump($_POST['mail']);
} else {
echo 'Did not receive var, sorry';
}
答案 0 :(得分:1)
从您发布的代码中我发现问题可能是您的表单有两个具有相同名称的输入字段,您必须为它们指定不同的名称。 也许你只是觉得它类似于输入类型“无线电”。 在此处查看有关如何处理表单及其名称的正确信息: All information you need about forms and their inputs
但问题还在于为什么你没有发布表单开始的地方,因为我们可以理解你的代码是错误的。因为你形成结束标记是在没有表单开始标记的div内。
答案 1 :(得分:0)
那是因为你使用重复的输入名称邮件