我有一个php表单(要遵循的代码),其中有一个提交按钮,JSON-events.php
action
(method = POST
)。在JSON事件代码中,我正在测试表单是否已使用if (!empty($_POST))
提交。我的问题是JSON事件代码似乎没有识别$_POST
。
见表格旁边的代码部分。
<div class="simple_overlay" id="searchform">
<form id="myform" class = "cols" action="json-events.php" method="post" >
<h3>Search</h3>
<p>
<label>address/postcode *</label>
<input type="address" id="searchaddress" />
</p>
<p>
<label for="amount">maximum distance:</label>
<input type="text" id="amount" value="5 miles" style=" border:0; color:#43a8c4; font-weight:bold;" />
</p>
<div id="slider-range-min" style="width:130px; margin-left:4px; margin-bottom:20px"></div>
<p id="terms">
<label>Category 1</label>
<input name="cat1" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 2</label>
<input name="cat2" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 3</label>
<input name="cat3" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 4</label>
<input name="cat4" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 5</label>
<input name="cat5" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 6</label>
<input name="cat6" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 7</label>
<input name="cat7" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 8</label>
<input name="cat8" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 9</label>
<input name="cat9" type="checkbox" value="1" checked="checked"/>
</p>
<p id="terms">
<label>Category 10</label>
<input name="cat10" type="checkbox" value="1" checked="checked"/>
</p>
<p>
<input type="hidden" name="searchlat" id="searchlat"/>
</p>
<p>
<input type="hidden" name="searchlong" id="searchlong" />
</p>
<input type="submit" name="search" id="search"/>
<input type="button" value="Check Address" onclick="codeAddressSearch()"/>
<button type="reset">Reset</button>
</form>
</div>
这是JSON的顶部...
if (!empty($_POST)) {
非常感谢任何帮助
答案 0 :(得分:9)
empty()
没有任何值(空数组), $_POST
将有效,但在您提交时没有任何值的情况下仍会得到如下数组并且它不是空的:
Array ( [searchlat] => [searchlong] => [search] => Submit Query )仅当
empty()
返回时, $_POST
才会返回true
Array (
)
但这不会发生,因为每个表单都会有一个 Sumbit 按钮。
只需使用
if($_POST) {
//php code
}
它将解决您的问题。
,详细了解empty()答案 1 :(得分:7)
不要使用
if (!empty($_POST)) {
检查是否有完成的帖子使用此:
if( $_SERVER['REQUEST_METHOD'] == 'POST') {
答案 2 :(得分:1)
您可以使用$ _POST
的条件if(count($_POST)>0){
//...
}
if(isset($_POST['field_name'])){
//...
}
if( $_SERVER['REQUEST_METHOD'] == 'POST') {
//..
}
答案 3 :(得分:0)
试试这个
if(!empty($_POST['search']) && isset($_POST['search']))
答案 4 :(得分:0)
更好地检查$ _POST数组中的实际值。例如。
if (!empty($_POST['search']))
答案 5 :(得分:0)
如果发布值0,则使用empty()将失败
所以最好使用
isset($_POST['FIELD_NAME'])