2016-08-26 7 views
0

jQueryとajaxメソッドでデータを挿入する必要があります。しかし、データはデータベースに挿入されません。この方法が間違っているのを助けてくれて嬉しいですか?ここでjQueryとajaxメソッドによってデータがデータベースに挿入されない

は私が私のコードで間違っているのか知っている聞かせてください私のコードは、

<!DOCTYPE html> <html> 
    <head> 
     <meta charset="UTF-8"> 
     <title></title> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <!--  <script src="jquery-3.1.0.js" type="text/javascript"></script>--> 
     <script type="text/javascript"> 
      function submitData() 
      { 
       var name = document.getElementById('name'); 
       var age = document.getElementById('age'); 
       var contact = document.getElementById('contact') 

       $.ajax({ 
        type: 'POST', 
        url: 'data_ins.php', 
        data:{ 
        uname:name, 
        uage:age, 
        ucontact:contact 
        }, 
        success: function(response){ 
         $('#success_para').html("Data inserted"); 
        } 
       }); 

       return false; 
      } 
     </script> 
    </head> 
    <body> 
     <form method="POST" onsubmit="return submitData();"> 

      name : <input type="text" name="name" id="name"> <br> 
      age : <input type="text" name="age" id="age"> <br> 
      contact : <input type="text" name="contact" id="contact"> <br> 
      <input type="submit" name="submit" > 

     </form> 

     <p id="success_para"></p> 
    </body> </html> 

form.html

あると、data_ins.php

<?php 
     $conn = mysqli_connect("localhost","root","","test_db"); 
     $name = $_POST['uname']; $age = $_POST['uage']; $contact = $_POST['ucontact']; 
     if(!$conn) { 
     echo"<script>alert('Database Connection Failed or invalid connection');</script>"; } 
     else { 
     $sql = "insert into records (name, age, contact) values ('$name', '$age', '$contact')"; mysqli_query($conn, $sql); 
    mysqli_error($conn); } 
    ?> 

。前もって感謝します。

+1

'document.getElementById'は値ではなく要素を返します。 –

+2

実際の挿入クエリを実行する前に、「データが正常に挿入されました」と言いますか?あなたは[SQLインジェクション攻撃](http://bobby-tables.com)に脆弱です。また、最終的にクエリを実行したときに、エラーを適切にテストしていません。 mysqli_eror()はエラーステータスを返します。そのエラーをキャプチャしないでください。出力しないで、テストしません。それは単なる関数呼び出しです。 –

+0

ajax呼び出し/メソッドを通じてデータベースにデータを挿入するための適切な例を挙げることができます。上記のファイルを実行した後、mysqli_errorはエラーを返しません。 –

答えて

1
var name = document.getElementById('name').value; 
var age = document.getElementById('age').value; 

あなたのボタンは、ページの再読み込みが発生するので、あなたのするonSuccessでクエリの結果を見ることができないだろう「提出」。

<input type="button" name="submit" onclick="submitData();" > 

あなたの回答を確認しましたか?ブラウザのインス​​ペクタで見ることもできます。

   success: function(response){ 
        $('#success_para').html(response); 
       } 
関連する問題