这是非常简单的,但我无法弄清楚为什么我经常在这里得到错误消息,它看起来正确并且在其他应用程序中正常工作....这是由于“0”零?它不应该是因为它在它到达任何其他东西之前返回错误,请帮忙!我一直盯着这看着“从树上看不到森林”这一点。
PHP
<?php
if(empty($_POST['Contact0FirstName']) || empty($_POST['Contact0LastName']) ||
empty($_POST['Contact0Email']) || empty($_POST['Contact0Phone1']) ||
empty($_POST['CaptchaInput']) || !empty($_POST['LeadBlind'])) {
echo "Please fill out all fields marked *";
die();
} else {
//curl stuff
}
?>
和表格
<form id="Lead" method="post" action="PHP/Lead.php" accept-charset="UTF-8">
<ul id="LeadForm">
<li>*required field</li>
<li>
<input type="hidden" name="LeadBlind" id="LeadBlind">
<label for="Contact0FirstName">1| First Name*</label>
<label for="Contact0LastName">2 | Last Name*</label>
<label for="Contact0Email">3 | Email*</label>
</li>
<li>
<input type="text" name="Contact0FirstName" id="Contact0FirstName">
<input type="text" name="Contact0LastName" id="Contact0LastName">
<input type="text" name="Contact0Email" id="Contact0Email">
</li>
<li>
<label for="Contact0Phone1">4| Daytime Phone*</label>
<label for="Contact0Phone2">5| Evening Phone</label>
<label for="CaptchaInput">6| Please enter the code</label>
</li>
<li>
<input type="text" name="Contact0Phone1" id="Contact0Phone1">
<input type="text" name="Contact0Phone2" id="Contact0Phone2">
<input type="text" class="numbers" name="Captcha" id="Captcha" value="" readonly>
<input type="text" class="numbers" name="CaptchaInput" id="CaptchaInput" size="6" maxlength="6">
</li>
<li>
<input type="submit" id="LeadSend" value="Try It Now!">
<span id="processing">Submitting Your Request</span>
</li>
<li class="text">You will get 30 days of NinjaTrader + Rithmic (the data feed) to experience how trading should really be.</li>
<li class="text"><a href="mailto:support@tradersplatform.com?subject=Trader's Platform Support Request">Email Support</a> or call 800 771 6748 (Optimus Trading Group)</li>
</ul>
<div class="clear"></div>
</form>
在firebug中,它显示了传递的字段,带有值,但是我得到了“请填写所有标记为*的字段”错误。
答案 0 :(得分:2)
!empty($_POST['LeadBlind'])
没有其他方法导致问题
尝试检查它是否为空 否则尝试逐个删除字段以查看问题究竟在哪里
,否则
在var_dump($_POST);
代码
<?php
答案 1 :(得分:1)
在此之间:
<?php
if(empty($_POST['Contact0FirstName']) ...
请放一个
print_r($_POST);
并确保您访问数据的所有密钥都正确并已填充。
IE:
<?php
print_r($_POST);
if(empty($_POST['Contact0FirstName']) ...
答案 2 :(得分:0)
!empty($_POST['LeadBlind']
此字段只能为空,因为它是隐藏的,并且您没有为其分配值。
此外,这是非常糟糕的HTML(标签应该关闭),我会在您的表单中设置的每个isset()
字段上使用$_POST
- 函数。因为如果一个字段没有值并且正在发送表单,则首先在$_POST
- 数组中没有条目。