php
  • jquery
  • ajax
  • 2017-08-10 82 views 0 likes 
    0

    我想提交我的表单与Ajax和不能似乎得到它的工作。我尝试了不同的方法,但数据仍未发送到数据库。下面是我的代码阿贾克斯不发送到数据库

    形式

    <form action='sendquestion.php' method='post' id="sendQform" enctype="multipart/form-data"> 
        <input type='text' name='searchQuestion' id='searchQuestion'placeholder='Enter your question'><br> 
        <input type="text" name="user" id="user" value="<?php echo ''.$_SESSION['log_id'].'';?>" style="display: none"> 
        <input type="text" name="qDate" id="qDtae" value="<?php echo date('d/M/Y');?>" style="display: none"> 
        <input type="text" name="status" id="status" value="0" style="display: none"> 
        <label for='sendSearchQuestion'><i class='fa fa-send'></i></label> 
        <input type="submit" name="sendSearchQuestion" id="sendSearchQuestion" value="Send"> 
    </form> 
    

    阿贾克斯

    $('#sendQform').submit(function(e) { 
        e.preventDefault(); 
        var $form = $(this), url = $form.attr("action"); 
    
        var posting = $.post(url, {searchQuestion: $('#searchQuestion').val(), user: $('#user').val(), status: $('#status').val(), qDate: $('#qDate').val()}); 
        posting.done(function(data) { 
         alert("success"); 
        }); 
    }); 
    

    PHP

    <?php 
    session_start(); 
    require_once ("db.php"); 
    $db = new MyDB(); 
    
    if (isset($_POST['sendSearchQuestion'])) 
    { 
        $question = strip_tags(@$_POST['searchQuestion']); 
        $askid = htmlentities($_POST['user'], ENT_QUOTES, 'UTF-8'); 
        $status = strip_tags(@$_POST['status']); 
        $date = htmlentities($_POST['qDate'], ENT_QUOTES, 'UTF-8'); 
    
        $sql = $db->prepare("INSERT INTO userquestions (userid, question, status, dates) VALUES (?, ?, ?, ?)"); 
        $sql->bindParam(1, $askid, SQLITE3_INTEGER); 
        $sql->bindParam(2, $question, SQLITE3_TEXT); 
        $sql->bindParam(3, $status); 
        $sql->bindParam(4, $date); 
    
        $result = $sql->execute(); 
    
        if ($result) 
        { 
         echo "true"; 
        } 
        else 
        { 
         echo "false"; 
        } 
    } 
    ?> 
    

    这是为什么不工作。谢谢。

    +1

    [你看了在浏览器的开发者工具的AJAX请求/响应?你有没有在项目中包含jQuery库?是否有任何错误报告?你是在网络服务器上运行的吗?](http://jayblanchard.net/basics_of_jquery_ajax.html) –

    +3

    '$ _POST ['sendSearchQuestion']'永远不会被设置 –

    +1

    你做了什么调试?发生什么事?只是说某些“不起作用”并不能真正帮助我们帮助你。 –

    回答

    1

    你的逻辑测试是sendSearchQuestion和你FILD是searchQuestion

    变化

    if (isset($_POST['sendSearchQuestion'])) 
    

    if (isset($_POST['searchQuestion'])) 
    
    +0

    感谢您指出这一点。现在一切正常。 – diagold

    +0

    伟大和欢迎。如果您可以请将此答案设置为接受答案 –

    相关问题