2017-04-20 11 views
0

私は$ _POSTデータを解析して、範囲内でコード化された価格とIDの範囲を取得しようとしています。誰かが正しい方向に私を向けることができますか?ここで私が持っているものです:送ら$ _POSTデータの

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
     $(function() { 

     $('form').on('submit', function (e) { 

      //e.preventDefault(); 

      var form = $('form')[0]; 
      var formData = new FormData(form); 

      $.ajax({ 
      url: '/price-update.php', 
      data: formData, 
      type: 'POST', 
      contentType: false, 
      processData: false, 
      success: function() { 
       alert('form was submitted'); 
      } 
      }); 

     }); 

     }); 
</script> 

例:?

&価格%5B%5D +変更を提出=サブミット= 11 &のid%5B%5D = 6 &価格%図5B%5D = 22 &識別%5B%の5D = 5 &価格%5B%5D = 33 &識別%5B%5D = 3 &価格%5B%5D = 44 &識別%5B%5D = 2 &価格%5B% 5D = 55 id%5B%5D = 8

<?php 

//Part of my price-update.php file 

    if($_POST) { 

     $Values = array(); 
     parse_str($_POST, $Values); 

     for($i = 0; $i < count($Values['price']); $i++) { 
      $price_update = "UPDATE prices SET price=".$Values['price'][$i]." WHERE id=".$Values['id'][$i]; 
      $send_update = $instance->query($price_update); 
     } 

    } 

?> 

フォームが送信されたことを示す成功メッセージのポップアップが表示されます。ただし、データベース内で値は変更されません。

+0

'$ _POST'の内容を調べると、何が見えますか? – Tom

+0

まあ、私は私のHTMLページに、このテストを追加しました: –

+0

<?phpの foreachの($ _POST $などのkey => $値){ エコー ""。 echo "​​"; echo $ key; echo ""; echo "​​"; echo $ value; echo ""; エコー ""; } >

答えて

0

コードを少し変更して、フロントエンドにいくつかの値を返すphpファイルに追加しました。

htmlファイル:

$(function() { 

    $('#form').on('submit', function (e) { // get element with id="form" 

     e.preventDefault(); // prevent default form submission 

     var form = $('form')[0]; 
     var formData = new FormData(form); 

     $.ajax({ 
      url: '/price-update.php', 
      data: formData, 
      type: 'POST', 
      contentType: false, 
      processData: false, 
      done: function (res) { 
       console.log('res', res); 
       alert('form was submitted'); 
      } 
     }); 

    }); 

}); 

PHPファイル:

<?php 

if($_POST['bar']) { 

    $values = array(); 

    foreach ($_POST as $key => $value) { 
     $values[$key] = $value; // do something with values (for example put them to array) 
    } 

    echo json_encode($values); // return those values to the frontend 
} 

あなたCのJavaScriptファイル

<form id="form"> 
    <label for="bar">A bar</label> 
    <input id="bar" name="bar" type="text" value="" /> 

    <input type="submit" value="Send" /> 
</form> 

より詳細な説明をご覧ください here