jQuery doppelte Anführungszeichen
-
06-07-2019 - |
Frage
Ich habe dieses Formular:
<form name="myForm" action="#">
<input type="text" name="firstField" />
<input type="text" name="secondField" />
<input type="submit" name="submitButton" />
</form>
, und ich habe eine Ajax-Anfrage:
$('input[type="submit"]').click(function(){
var serialized = $('form').serialize();
//ajax request
$.ajax({
type : "POST",
url : "takeAction.php",
data : serialized,
succes : function(){
alert('done');
}
});
});
das Problem ist, dass, wenn eine meiner Felder Wert „'“ enthält, wie (wer hier der Chef ist) meine Ajax-Anforderung nicht abgeschlossen werden kann (Ich versuche, eine MySQL-Zeile zu aktualisieren, aber der Code fehlschlägt, ich habe keine Fehler nur erhalten dass meine Reihe nicht aktualisiert wird). Ich weiß, dass es etwas über Zitate ist, aber ich don t wissen, wie es zu tun. Dank
Lösung
Das Problem ist in Ihrem PHP-Code auf dem Server, in Ihrem HTML oder JavaScript.
Sie sind wahrscheinlich die eingereichten Daten Werte direkt in eine SQL-Abfrage schreiben, ja:?
$query = sprintf("SELECT * FROM users WHERE user='%s'", $user);
Sie müssen entweder benutzen Prepared Statements verwenden oder mysql_real_escape_string()
Ihre Werte zu entkommen:
$query = sprintf("SELECT * FROM users WHERE user='%s'",
mysql_real_escape_string($user));