Pergunta

eu tenho este formulário:

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

e eu tenho uma solicitação ajax:

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

O problema é que, se qualquer um dos meus valor campos contém "'", como (quem é o chefe) o meu pedido ajax não completar (eu estou tentando atualizar uma linha mysql, mas o código de falha, eu recebo nenhum erro apenas que a minha linha não é atualizado). Eu sei que isso é algo sobre cotações, mas eu não, não sei como fazê-lo. graças

Foi útil?

Solução

O problema está no seu código PHP no servidor, não no seu HTML ou JavaScript.

Você provavelmente escrever os valores de dados enviados diretamente em uma consulta SQL, sim:?

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

Você precisa tanto para uso declarações preparadas ou usar mysql_real_escape_string() para escapar de seus valores:

$query = sprintf("SELECT * FROM users WHERE user='%s'",
                  mysql_real_escape_string($user));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top