2017-02-19 3 views
0

Ich bin Anfänger im Web-Programmierung. Ich würde gerne Daten in MySQL DB einfügen, dafür benutze ich PHP und diese Daten kommen von einem Formular in einem Bootstrap Modal. Wenn ich auf die Schaltfläche Save klicke, passiert nichts. Ich bin einem this tutorial gefolgt und habe genau getan, dass Tutor tut. Was ist mit meinem Code falsch gelaufen?Senden von Daten an MySQL mit AJAX und PHP

HTML-Code und JavaScript:

<body> 
<p><br/></p> 
<div class="container"> 
    <p></p> 
    <button class="btn btn-primary" data-toggle="modal" data-target="#addData">Insert data</button> 

    <!-- Modal --> 
     <div class="modal fade" id="addData" tabindex="-1" role="dialog" aria-labelledby="addLabel"> 
     <div class="modal-dialog" role="document"> 
      <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title" id="addlLabel">Insert Data</h4> 
      </div> 
      <form> 
      <div class="modal-body"> 

      <div class="form-group"> 
       <label for="nm">Name</label> 
       <input type="text" class="form-control" id="nm" placeholder="Name here"> 
       </div> 
       <div class="form-group"> 
       <label for="em">Email</label> 
       <input type="email" class="form-control" id="em" placeholder="Email"> 
       </div> 
       <div class="form-group"> 
       <label for="hp">Hone Number</label> 
       <input type="number" class="form-control" id="hp" placeholder="Your Phone"> 
       </div> 
       <div class="form-group"> 
       <label for="al">Address</label> 
       <textarea class="form-control" id="al" placeholder="Your address"></textarea> 
       </div> 

      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       <button type="submit" onclick="saveData()"class="btn btn-primary">Save</button> 
      </div> 
      </form> 
      </div> 
     </div> 
     </div> 
</div> 

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
<script src="js/jquery-3.1.1.min.js"></script> 
<!-- Include all compiled plugins (below), or include individual files as needed --> 
<script src="js/bootstrap.min.js"></script> 
<script> 
    function saveData(){ 
    var name=$('#nm').val(); 
    var email=$('#em').val(); 
    var phone=$('#hp').val(); 
    var address=$('#al').val(); 

    $.aja({ 
     type:"post", 
     url:"server.php?p=add", 
     data:"nm="+name+"&em="+email+"&hp="+phone+"&al="+address, 
     success: function(msg){ 
     alert('Success Insert data'); 
     } 
    }); 

    } 
</script> 

PHP-Code:

<?php 
$db=new PDO('mysql:host=localhost;dbname=ajax','root',''); 
$page=isset($_GET['p'])?$_GET['p']:''; 

if($page=='add'){ 
$name=$_POST['nm']; 
$email=$_POST['em']; 
$phone=$_POST['hp']; 
$address=$_POST['al']; 
$stmt=$db->prepare("insert into users values('',?,?,?,?)"); 
$stmt->bindParam(1,$name); 
$stmt->bindParam(2,$email); 
$stmt->bindParam(3,$phone); 
$stmt->bindParam(4,$address); 

if ($stmt->execute()) { 
    echo "Success"; 
}else{ 
    echo "Fail".mysqli_error(); 
} 
}else if($page=='edit'){ 

}if($page=='del'){ 

}else{ 

} 
?> 

ich die Entwicklung in Chrome verwendet haben, wird kein Fehler angezeigt wird.

+0

print_r ($ _ GET); und print_r ($ _ POST); bitte teilen ...... – Naincy

+2

Nicht '$ .aja ({' es muss '$ .ajax ({'. –

+0

lassen Sie mich das – JWizard

Antwort

1

Typo error.You haben $.ajx({}) .Es $.ajax({}) sein muss .Auch format.like diese Daten im Objekt zu senden ..

$.ajax({ 
     type:"post", 
     url:"server.php?p=add", 
     data:{nm:name,em:email,hp:phone,al:address}, 
     success: function(msg){ 
     alert('Success Insert data'); 
     } 
    }); 
+0

Warum funktioniert die Dev-Tools nicht beschweren oder zeigen? Danke das war der Fehler. Es funktioniert jetzt, wird Ihre Antwort annehmen – JWizard

+0

Siehe Fehler auf 'Konsole' tab.Sure es muss ein Fehler sein. –

+0

Ich stimme zu, es muss zeigen und Fehler, aber wenn ich ' Ajx' Konsole zeigt nichts anderes als ein blaues '' ' – JWizard

Verwandte Themen