JQuery двойные кавычки - PullRequest
       14

JQuery двойные кавычки

0 голосов
/ 25 октября 2009

У меня есть эта форма:

<form name="myForm" action="#">
     <input type="text" name="firstField" />
     <input type="text" name="secondField" />
     <input type="submit" name="submitButton" />
</form>

и у меня есть запрос ajax:

$('input[type="submit"]').click(function(){
       var serialized = $('form').serialize();
       //ajax request
       $.ajax({
                type : "POST",
                url : "takeAction.php",
                data : serialized,
                succes : function(){
                    alert('done');
                }
       }); 
});

проблема в том, что если какое-либо из значений моих полей содержит "'", например (кто главный) мой ajax-запрос не удается выполнить (я пытаюсь обновить строку mysql, но код не выполняется, я не получаю ошибку что мой ряд не обновляется). я знаю, что это что-то о кавычках, но я не знаю, как это сделать. спасибо

1 Ответ

4 голосов
/ 25 октября 2009

Проблема в вашем PHP-коде на сервере, а не в вашем HTML или JavaScript.

Возможно, вы записываете отправленные значения данных непосредственно в SQL-запрос, да?

$query = sprintf("SELECT * FROM users WHERE user='%s'", $user);

Вам нужно либо использовать подготовленные операторы , либо использовать mysql_real_escape_string() для экранирования ваших значений:

$query = sprintf("SELECT * FROM users WHERE user='%s'",
                  mysql_real_escape_string($user));
...