Ich habe ein Programm, das ich Daten ohne Javascript hinzufügen kann. Aber ich möchte AJAX benutzen und ich weiß nicht, warum es nicht funktioniert. Wenn ich auf Hinzufügen klicke, passiert nichts und ich sehe die Daten in phpmyadmin nicht. Kann mir jemand helfen?Ajax speichert die Daten nicht
index.php:
session_start();
require_once("auth.php");
require_once("control.php");
<div class="well well-sm bs-component">
<div class="form-group row add">
<form method="post" action="">
<div class="col-md-12">
<label for="content" class="control-label">Your Comment</label>
<input type="hidden" name="uid" value="<?= $id; ?>">
<input type="hidden" name="date" value="<?= date('Y-m-d H:i:s') ?>">
<textarea id="content" name="content" class="form-control" rows="3" placeholder="Enter your comment..." required></textarea>
<p class="error text-center alert alert-danger hidden"></p>
</div>
<div class="addButton col-md-12">
<button class="btn" type="submit" id="add" name="add">
<span class="glyphicon glyphicon-plus"></span> SEND
</button>
</div>
</div>
</form>
</div>
control.php:
//ADD COMMENT
if (isset($_POST['add'])) {
$id = $_POST['uid'];
$date = $_POST['date'];
$content = $_POST['content'];
$sql= "INSERT INTO posts (uid, content, date) VALUES ('$id', '$content', '$date')";
if (!$mysqli->query($sql)) {
header("location: error.php");
}
}
Javascript:
$("#add").click(function() {
var formData = {
'name': $('#content').val()
};
$.ajax({
type: 'post',
url: 'control.php',
data: formData,
success: function(data) {
if ((data.errors)){
$('.error').removeClass('hidden');
$('.error').text(data.errors.name);
}
else {
$('.error').addClass('hidden');
$('#table').prepend("<div class='item" + data.id + " mess'><div class='btn-group-sm'><button class='edit-modal btn btn-circle' data-id=" + data.id + " data-name=" + data.name +"><span class='glyphicon glyphicon-pencil'></span></button><button class='delete-modal btn btn-circle' data-id=" + data.id + " data-name=" + data.name +"><span class='glyphicon glyphicon-trash'></span></button></div><article class='myMessage'><p>" + data.name + "</p></article></div><div class='clear' style='clear: both;''></div>");
}
},
});
$('#content').val('');
});
, was Sie tun sollen, um den Fehler zu isolieren, wenn Sie nicht sicher sind, ist hinzuzufügen, einige Debug-Nachrichten zu deinem Code, um zu sehen, wo dein Date "verloren" ist oder wie weit es kommt. Z.B. fügen Sie Ihrer 'control.php' eine' echo'Message hinzu und sehen Sie, ob sie überhaupt aufgerufen wird und wenn ja, überprüfen Sie die korrekten Werte – xander
Sie senden '$ _POST ['add']' nicht. Ausgabe in PHP, damit Sie wissen, wo Ihre Anwendung aufhört. Außerdem sollten Sie Fehlerberichte für die Abfrage verwenden, damit Sie wissen, warum dies fehlgeschlagen ist, und die Abfrage parametrisieren sollte. – chris85