2017-08-10 23 views
0

私はajaxでフォームを送信しようとしていますが、動作しないようです。私はさまざまな方法を試みましたが、データはまだデータベースに送られません。これが動作していないのはなぜ以下の私のコード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

からsearchQuestion

変更

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

ある[あなたは、ブラウザの開発ツールでAJAXリクエスト/レスポンスを見たことがありますか?プロジェクトにjQueryライブラリを含めましたか?エラーが報告されていますか?ウェブサーバーでこれを実行していますか?](http://jayblanchard.net/basics_of_jquery_ajax.html) –

+3

'$ _POST ['sendSearchQuestion']'は決して設定されません –

+1

何のデバッグをしましたか?何が起こっている?何かが「うまくいかない」と言っても、私たちがあなたを助けてくれるわけではありません。 –

答えて

1

あなたのロジックテストがsendSearchQuestionのためであり、あなたのFILDが

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

ありがとうございました。すべてがうまくいきます。 – diagold

+0

素晴らしいと歓迎。もしあなたがこの回答をAccepted answerとして設定してください –

関連する問題