2013-02-20 111 views
2

我使用來自HTML表單的數據從jQuery向PHP發佈數據。jQuery將表單數據發佈到PHP

這裏是發送POST

$.post("InsertNewQuestion.php", $("Create_Question_Form").serialize()); 

這裏jQuery的線是PHP代碼

<?php 
$con = mysql_connect("localhost","root",""); 

mysql_select_db("Quizzes",$con); 

$Quiz_Name = $_POST['Question']; 
echo $Quiz_Name; 
$Option_1 = $_POST['Option1']; 
echo $Option_1; 
$Option_2 = $_POST['Option2']; 
echo $Option_2; 
$Option_3 = $_POST['Option3']; 
echo $Option_3; 
$Option_4 = $_POST['Option4']; 
echo $Option_4; 
$Option_5 = $_POST['Option5']; 
echo $Option_5; 

$rowIDList = mysql_query("SELECT rowID FROM TestQuiz"); 

$ColumnValues = array(); 

$CurrentGreatestRowID = -1; 

$LCV = 1; 

while($row1 = mysql_fetch_assoc($rowIDList)) { 

    if ($CurrentGreatestRowID < $row1['rowID']) { 
     $CurrentGreatestRowID = $row1['rowID']; 
    } 
    $LCV++; 
} 

$CurrentRowID = $CurrentGreatestRowID+1;   

$sql = "INSERT INTO TestQuiz (rowID,Quiz_Name,Option_1,Option_2,Option_3,Option_4,Option_5,Option_1_Votes,Option_2_Votes,Option_3_Votes,Option_4_Votes,Option_5_Votes) 
VALUES(".$CurrentRowID.",'".$Question."','".$Option1."','".$Option2."','".$Option3."','".$Option4."','".$Option5."',0,0,0,0,0);"; 

if (mysql_query($sql,$con)) { 
    echo "Inserted values"; 
} 
else { 
    echo ("Could not insert values: ". mysql_error()); 
} 

mysql_close($con); 
?> 

這裏是HTML表單

<form id="Create_Question_Form" action="" method="POST"> 
Question Name: input id="Question" class="Create_Question_Text_Box" type="text" name="Question_Name"><span id="Invalid_1"></span><br> 
Option 1: input id="Option1" class="Create_Question_Text_Box" type="text" name="Option_1"><span id="Invalid_2"></span><br> 
Option 2: input id="Option2" class="Create_Question_Text_Box" type="text" name="Option_2"><span id="Invalid_3"></span><br> 
Option 3: input id="Option3" class="Create_Question_Text_Box" type="text" name="Option_3"><span id="Invalid_4"></span><br> 
Option 4: input id="Option4" class="Create_Question_Text_Box" type="text" name="Option_4"><span id="Invalid_5"></span><br> 
Option 5: input id="Option5" class="Create_Question_Text_Box" type="text" name="Option_5"><span id="Invalid_6"></span><br> 
input type="Submit" id="Question_Submit" value="Create Question"></input> 
</form> 
+0

的問題是,該數據沒有被髮送到InsertNewQuestion.php。儘管仍然調用InsertNewQuestion.php,但數據並未發送,因此正在創建空行。 – 2013-02-20 15:23:48

+5

不應該是'$(「#Create_Question_Form」)。serialize()'?注意'#' – hek2mgl 2013-02-20 15:24:14

+0

我做了改變,它仍然不起作用,(只有空行仍在創建)。 – 2013-02-20 15:26:54

回答

1

你的表格選擇應該是#Create_Question_Form 。請注意0​​表示這是一個元素ID。

$("#Create_Question_Form").serialize() 

更新

您通過ID而不是名稱訪問$_POST值。試試這個:

$Option_1 = $_POST['Option_1']; 
$Option_2 = $_POST['Option_2']; 
// etc 
+0

我已經修復了這個錯誤,但它仍然無效,(只有空行正在創建)。 – 2013-02-20 17:20:56

+0

它工作。問題是我沒有更新行$ sql =「INSERT INTO TestQuiz(rowID,Quiz_Name,Option_1,Option_2,Option_3,Option_4,Option_5,Option_1_Votes,Option_2_Votes,Option_3_Votes,Option_4_Votes,Option_5_Votes)中的Options_1,Option_2變量名稱 VALUES (」 $ CurrentRowID 「'」。$的問題。 「 ''」,$選項1, 「 ''」,$ 1選項 「 ''」,$ 2選項 「 ''」,$ 3選項。 「 ''」 $選項5 「」,0,0,0,0,0);」。感謝大家的幫助!偉大的迴應時間! – 2013-02-20 17:27:27

0
input type="Submit" id="Question_Submit" value="Create Question"></input> 
<input type="Submit" id="Question_Submit" value="Create Question" /> 

你似乎T爲缺少一個支架