2016-08-02 1 views
0

Я пытаюсь вставить значение с помощью ajax в php, но данные не вставлены в базу данных. Я взял этот код из ответов на другие вопросы с этого сайта. Может ли кто-нибудь предложить, где я делаю ошибку.?Вставить данные в базу данных mysql с помощью ajax в php

<script> 
    $("#submit").click(function() { 
       var name= $("#name").val(); 
       var password= $("#password").val(); 

       $.ajax({ 
        type: "POST", 
        url: "insert.php", 
        data: "name=" + name+ "&password=" + password, 
        success: function(data) { 
         alert("sucess"); 
        } 
       }); 


      }); 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 

<?php 
    //------insert.php------ 
    $servername = "localhost"; 
    $username = "username"; 
    $password = "password"; 
    $dbname = "dbname"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password,$dbname); 

    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 


      $name=$_POST['name']; 
      $pass=$_POST['password']; 
      $sql= mysqli_query($conn,"INSERT INTO insert_tbl(name,pass) VALUES('".$name."','".$pass."')"); 

?> 
+0

Вы видите свой успех ' alert() 'сообщение? – showdev

+0

no..I не могу .. @ showdev –

+1

Возможно, ваша форма отправляется через действие по умолчанию, прежде чем AJAX сможет запустить. Попробуйте 'return false;' в конце обработчика 'click', чтобы [предотвратить действие по умолчанию] (http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false). Кроме того, вы видите какие-либо ошибки в журналах консоли или сервера вашего браузера? – showdev

ответ

1
<script> 
    $("#FORM_ID").submit(function() { 
       var name= $("#name").val(); 
       var password= $("#password").val(); 

       $.ajax({ 
        type: "POST", 
        url: "insert.php", 
        data: "name=" + name+ "&password=" + password, 
        success: function(data) { 
         alert("sucess"); 
        } 
       }); 


      }); 
</script> 

, а также либо нагрузки

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 

до вашего сценария тег или использовать

<script> 
$(document).ready(function(){ 
     $("#FORM_ID").submit(function() { 
        var name= $("#name").val(); 
        var password= $("#password").val(); 

        $.ajax({ 
         type: "POST", 
         url: "insert.php", 
         data: "name=" + name+ "&password=" + password, 
         success: function(data) { 
          alert("sucess"); 
         } 
        }); 


       }); 
     }); 
    </script> 
+2

Чтобы уточнить для OP, обратите внимание на изменение события от 'click' до' submit'. – showdev

+0

Thank u so much .. @Tsotne Kekelia .. его работа .. !! –

+1

Спасибо @showdev .. оцените ваши усилия .. –

0

Это HTML форма данных вставки

<form id="frmrecord" method="post"> 
    <input type="text" name="txtusermame" /> 
    <input type="password" name="txtpassword" /> 
    <input type="submit" value="Insert" /> 
</form> 

Используйте этот код для вызова insert.php файла для вставки данных

jQuery(document).ready(function ($) { 

    $("#frmrecord").submit(function (event) { 
       event.preventDefault(); 
       //validation for login form 
     $("#progress").html('Inserting <i class="fa fa-spinner fa-spin" aria-hidden="true"></i></span>'); 

      var formData = new FormData($(this)[0]); 
      $.ajax({ 
       url: 'insert.php', 
       type: 'POST', 
       data: formData, 
       async: true, 
       cache: false, 
       contentType: false, 
       processData: false, 
       success: function (returndata) 
       { 
        //show return answer 
        alert(returndata); 
       }, 
       error: function(){ 
       alert("error in ajax form submission"); 
            } 
     }); 
     return false; 
    }); 
}); 

После вызова файла вы можете получить данные в PHP файле insert.php

<?php 
    $usernmae=$_POST['txtusername']; 
    $password=$_POST['password']; 
    $sql= mysqli_query($conn,"INSERT INTO insert_tbl(name,pass) 
    VALUES('".$usernmae."','".$password."')"); 
?> 

Download Demo

Смежные вопросы