Ich habe eine einfache Form:Form sendet Werte, die nicht etwas zu ändern sind
<form id="change_id" action="change.php?change=profile"
method="POST" enctype="multipart/form-data">
<input id="change_username" required name="jmeno_new"
type="text" placeholder="New Username">
</form>
Auch ich bin über AJAX-Request wie so Daten von meinem form
Elemente zu senden:
save_button.addEventListener('click', function()
{
var fd = new FormData(change_id);
XXHR().request(change_id.getAttribute("action"), function(r){
var obj = JSON.parse(r);
if (obj.type == 'success')
{}
else if (obj.type == 'success_un')
{
console.log("YEAH! THAT WORKS.");
}
}, function(){}, true, fd);
}, false);
Und ich es mit meiner PHP-Datei wie folgt:
$new_un = $_POST['jmeno_new'];
$sql_update = ("UPDATE myTable SET `name`='$new_un' WHERE `name`='$name'");
$out = array('type' => 'success_un');
exit(json_encode($out));
also, wenn die Daten festgelegt ist, kann ich sehen, nur dass AJAX-Request war Erfolg voll, aber es ändert nichts in meiner Datenbank.
Was sollte es tun?
Es sollte myTable
aktualisieren, wo es den alten Namen durch den neuen ersetzen sollte, erhalten über $_POST
.
Das funktioniert nicht .. wie? Warum?
Schreiben einer Abfrage bedeutet nicht, dass es ausgeführt wird. Wie Sie mit der Datenbank API arbeiten, erfahren Sie in den Handbüchern, Online-Tutorials oder im Dokumentationsabschnitt. –
1- Validieren Sie Ihre else if ($ change == 'username') Ausgabe var_dump ($ change) vor dem else if. –
Verwenden Sie keine Interpolation – Aaron