PHP中的动态表单处理不正确
关于这一点,我的最后一个问题建议我将AJAX与PHP结合起来。然而,我真的很想专门为这个项目尝试PHP,我似乎已经做到了95%。在这个问题上我需要帮助 这里是一个快速的背景。我的项目需要一个动态表单来填充最多10个问题。每个表单包含一个问题、一个问题编号和一个文本字段。学生们将继续回答问题。这都是由一个数据库表驱动的(很明显),当一个问题得到正确回答时,它将关闭,并出现下一个问题。页面上总是有10个问题。下面是代码的外观,它可以完美地工作PHP中的动态表单处理不正确,php,forms,dynamic,Php,Forms,Dynamic,关于这一点,我的最后一个问题建议我将AJAX与PHP结合起来。然而,我真的很想专门为这个项目尝试PHP,我似乎已经做到了95%。在这个问题上我需要帮助 这里是一个快速的背景。我的项目需要一个动态表单来填充最多10个问题。每个表单包含一个问题、一个问题编号和一个文本字段。学生们将继续回答问题。这都是由一个数据库表驱动的(很明显),当一个问题得到正确回答时,它将关闭,并出现下一个问题。页面上总是有10个问题。下面是代码的外观,它可以完美地工作 <? $rt = mysql_query("SE
<?
$rt = mysql_query("SELECT * FROM The_Questions WHERE Status='Open' ORDER BY 'Number' LIMIT 10");
while ($row = mysql_fetch_array($rt)) {
$number=$row[0];
$category = $row[1];
$question=$row[2];
$points=$row[4];
$_SESSION['number'] = $number;
?>
<form action="processor.php" method="post" class="qForm">
<div class="questionCell">
<div class="question"><? echo $number; echo $question ?></div>
<div class="answer">Answer: <input class="inputField" name="q1" type="text" size="40" maxlength="40" />
<input name="HHQuestion" value="Submit" type="submit" /></div>
</div>
</form>
<?
}
?>
请阅读。这是非常重要的。
此外,请注意:
在你的processor.php
中,mysql\u select\u db
后面的花括号是什么
session\u start()
,还是仅在processor.php
中有while()
循环中,您正在覆盖$\u会话['number']
,变量中的最后一个条目是$rt=mysql\u查询中的最后一条记录(“从问题中选择*,其中Status='Open'ORDER BY'number'LIMIT 10”)代码>所以,当你将限制改为20时,它包含第20个问题是合乎逻辑的
并停止使用$\u会话
:
omg,可以是真正特定的。这会危及我的神经系统。也许你应该尝试不进行残酷的$u会话。温和而温和。天哪,这是易受攻击的,不安全的代码,SQL注入,难以修复,清理你的风格。尝试在新的干净项目上编写代码。为什么您应该使用会话进行简单的选择?顺便说一句,我认为选择问题,回答数字='$number1'
(并清理$Number
,确保它只是一个数字(而不是注入的代码),然后访问$row['question']
和$row['answer']
而不是使用数字索引。这非常有效!!!我很少在表单中使用隐藏字段。非常感谢!
<?php
session_start();
if(isset($_POST["HHQuestion"])){
$dbhost = 'localhost';
$dbname = 'localhost';
$dbuser = 'localhost';
$dbpass = 'localhost';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $conn);
{
$number1 = $_SESSION['number'];
$answer=$_POST['q1'];
$sql="SELECT * FROM The_Questions WHERE Number='$number1'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$question = $row[2];
echo $question .'<br>';
echo $number1.'<br>';
echo $answer;
}
}
?>