本文介绍了PHP:$ _POST字段为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图通过电子邮件提交一个简单的表单,但是当我收到电子邮件时,$ _POST字段没有填充,邮件正文显示为:名称:电子邮件:组织:角色:没有数据。任何想法?
HTML文件:
< form method = postclass =form-horizontalid =contactFormaction =submit_contact.php>< / div>
< div class =modal hide fade inid =contactModal>
< div class =modal-header>
< a class =closedata-dismiss =modal>×< / a>
< h3>提交表格< / h3>
< / div>
< div class =modal-body>
< div style ='display:none'>< / div>
< fieldset>
< div class =control-group>
< label class =control-label>名称< / label>
< div class =controls>
< input id =nametype =textname =namemaxlength =75/>
< p class =help-blockid =name_error>< / p>
< / div>
< / div>
< div class =control-group>
< label class =control-label>电子邮件< / label>
< div class =controls>
< input id =emailtype =textname =emailmaxlength =75/>
< p class =help-blockid =email_error>< / p>
< / div>
< / div>
< div class =control-group>
< label class =control-label>组织< / label>
< div class =controls>
< input id =organizationtype =textname =organizationmaxlength =75/>
< p class =help-blockid =organization_error>< / p>
< / div>
< / div>
< div class =control-group>
< label class =control-label>角色< / label>
< div class =controls>
< option value =selected =selected> ---------< / option>
< option value =MD>医疗器械 - 销售&市场营销和LT; /选项>
< option value =MO>医疗器械 - 其他< / option>
< option value =MD> Physician< / option>
< option value =OT>其他< / option>
< / select>
< p class =help-blockid =occupation_error>< / p>
< / div>
< / div>
< / fieldset>
< / div>
< div class =modal-footerstyle =height:30px>
提交
< / a>
< p style =text-align:left; margin-top:6px; ID = contactFormStatus >< / p为H.
< / div>
< / div>
< / form>
< / div>
< script> $('#contactSubmit')。on('click',function(e){
//我们不希望它作为链接来取消链接操作
e .preventDefault();
//查找表单并提交它
$('#contactForm')。submit();
});
< / script>
<?php
$ ToEmail ='xxx@xxx.com';
$ EmailSubject ='网站联系表';
$ mailheader =From:。$ _ POST [name]。\r\\\
;
$ mailheader。=回复:。$ _ POST [email]。\r\\\
;
$ mailheader。=Content-type:text / html; charset = iso-8859-1 \r\\\
;
$ MESSAGE_BODY =Name:。$ _ POST [name]。;
$ MESSAGE_BODY。=\\\
Email:。$ _ POST [email]。;
$ MESSAGE_BODY。=\\\
Organization:。$ _ POST [organization]。;
$ MESSAGE_BODY。=\\\
Role:。$ _ POST [职业]。;
邮件($ ToEmail,$ EmailSubject,$ MESSAGE_BODY,$ mailheader)或死(失败);
?>
解决方案
它。没想到这是解决方案,但哦。 I'm trying to submit a simple form via e-mail, but when I get the e-mail though, the $_POST fields are not populated and the message body comes out as: "Name: Email: Organization: Role:" with no data. Any ideas?
HTML file:
<form method="post" class="form-horizontal" id="contactForm" action="submit_contact.php"></div>
<div class="modal hide fade in" id="contactModal">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Submit form</h3>
</div>
<div class="modal-body">
<div style='display:none'></div>
<fieldset>
<div class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input id="name" type="text" name="name" maxlength="75" />
<p class="help-block" id="name_error"></p>
</div>
</div>
<div class="control-group">
<label class="control-label">E-mail</label>
<div class="controls">
<input id="email" type="text" name="email" maxlength="75" />
<p class="help-block" id="email_error"></p>
</div>
</div>
<div class="control-group">
<label class="control-label">Organization</label>
<div class="controls">
<input id="organization" type="text" name="organization" maxlength="75" />
<p class="help-block" id="organization_error"></p>
</div>
</div>
<div class="control-group">
<label class="control-label">Role</label>
<div class="controls">
<select name="occupation" id="id_occupation">
<option value="" selected="selected">---------</option>
<option value="MD">Medical Devices - Sales & Marketing</option>
<option value="MO">Medical Devices - Other</option>
<option value="MD">Physician</option>
<option value="OT">Other</option>
</select>
<p class="help-block" id="occupation_error"></p>
</div>
</div>
</fieldset>
</div>
<div class="modal-footer" style="height:30px">
<a name="submit" type="submit" value="submit" id="contactSubmit" class="btn btn-primary pull-right" href="#">
Submit
</a>
<p style="text-align: left; margin-top:6px;" id="contactFormStatus"></p>
</div>
</div>
</form>
</div>
<script>
$('#contactSubmit').on('click', function(e){
// We don't want this to act as a link so cancel the link action
e.preventDefault();
// Find form and submit it
$('#contactForm').submit();
});
</script>
submit_contact.php:
<?php
$ToEmail = 'xxx@xxx.com';
$EmailSubject = 'Site contact form';
$mailheader = "From: ".$_POST["name"]."\r\n";
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Name: ".$_POST["name"]."";
$MESSAGE_BODY .= "\nEmail: ".$_POST["email"]."";
$MESSAGE_BODY .= "\nOrganization: ".$_POST["organization"]."";
$MESSAGE_BODY .= "\nRole: ".$_POST["occupation"]."";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
?>
解决方案
Moving the form tags into the modal body ended up solving it. Didn't expect that to be the solution, but oh well.
这篇关于PHP:$ _POST字段为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!