2013-02-20 80 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为缺少一个支架