5

( )JSON-events.phpとして実行される送信ボタンを備えたphpフォーム(従うべきコード)があります。JSON-events コードでは、フォームが を使用して送信されたかどうかをテストしています。私の問題は、JSON イベント コードが認識していないように見えることです。actionmethod = POSTif (!empty($_POST))$_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)) {

どんな助けでも大歓迎です

4

6 に答える 6

9

empty()$_POST値がない場合(空の配列)は機能しますが、あなたの場合、値なしで送信すると、以下のような配列が得られ、空ではありません:

    配列
    (
        [検索緯度] =>
        [サーチロング] =>
        [検索] => クエリを送信
    )

empty()が返される場合にのみ true を$_POST返します

Array (

)

しかし、すべてのフォームに 1 つのSumbitボタンがあるため、それは実現しません。

使うだけ

if($_POST) {
//php code
}

それはあなたの問題を解決します。

empty() の詳細については、http://php.net/manual/en/function.empty.phpをご覧ください。

于 2012-09-21T11:21:49.393 に答える
7

使用禁止

if (!empty($_POST)) {

完了した投稿があるかどうかを確認するには、次を使用します。

if( $_SERVER['REQUEST_METHOD'] == 'POST') {
于 2012-09-21T10:14:45.890 に答える
1

$_POST で使用できる条件

if(count($_POST)>0){
    //...
}
if(isset($_POST['field_name'])){
    //...
}
if( $_SERVER['REQUEST_METHOD'] == 'POST') {
    //..
}
于 2012-09-21T11:39:24.200 に答える
0

$_POST 配列の実際の値を確認する方がはるかに優れています。例えば。

if (!empty($_POST['search']))
于 2012-09-21T10:15:11.480 に答える
0

値0が投稿された場​​合、empty()を使用すると失敗するため、使用することをお勧めします
isset($_POST['FIELD_NAME'])

于 2012-09-21T10:57:15.497 に答える
0

これを試して

  if(!empty($_POST['search']) && isset($_POST['search']))
于 2012-09-21T10:14:21.807 に答える