由jQuery提交的表单不会在DDBB上插入

时间:2014-02-26 14:46:20

标签: php jquery html forms insert

我有一个简单的表单,我试图通过jQuery提交。就是这样:

        <form id="turn_conf" action='turn_insert.php' method="POST">
                    <label for="nombre">Nombre:</label>
                    <input type="text" id="tu_name" name="tu_name">         
                    <input type="submit" class="botonEnvio" value="Crear">
        </form>

目前似乎没有工作的jQuery函数,屏幕上显示“看起来我正在工作”警报

    $('#turn_conf').on('submit', validaDatos)

function validaDatos(e) {
    var nombreTurno = $('input[name=tu_name]').val();

    $.post({url: $(this).attr('action'),
            data: { tu_name:nombreTurno },
            success:feedback })
    e.preventDefault(); }

function feedback (datos) {
    alert("Seems I'm working!")}

DDBB上没有插入任何值。在这里你有插入PHP文件“turn_insert.php”:

$nombreTurno = $_POST['tu_name'];

$insertar = mysql_query("INSERT INTO turn_conf (tu_id,tu_name,tu_status) VALUES ('','$nombreTurno','1')");

控制台显示错误:控制台错误:POST localhost / Gestion /%5Bobject%20Object%5D 404 Not Found

关于这里出了什么问题的任何建议?提前谢谢。

2 个答案:

答案 0 :(得分:1)

在Chrome中使用F12检查数据是否已提交到指定的网址。使用Console.log();用于调试JavaScript。许多年前,Alert是一个调试选项。

答案 1 :(得分:1)

首先,success参数传递feedback的结果,因为您正在调用它而不是将引用传递给函数。您还通过将对象传递给方法来使用$.ajax版本。 $.post将对象分解为参数。改为:

$.post($(this).attr('action'), { tu_name:nombreTurno }).success(feedback);

第二个从不直接将用户输入传递到SQL查询中。您可以使用SQL注入和各种恶意。使用绑定参数:http://www.php.net/manual/en/pdostatement.bindparam.php