如何解决表格处理
| 我要执行的操作是为每个答案运行一条select语句,以在数据库questionID = $i
和userID = $userID
中选择答案,因此到目前为止,我已经设置了类似的查询,但是不确定我丢失了什么还是我是对的,什么都不丢失吗?另外,无论我做什么,两个字段都有值,但是我仍然收到错误消息,我需要填写两个表单字段。
<?PHP
$i = 1;
while ($row = MysqLi_fetch_array($result,MysqLI_ASSOC)) {
?>
<dl>
<dt style=\"width: 190px;\"><label for=\"answer[<?PHP echo $row[\'id\']; ?>]\"><?PHP echo $row[\'question\'] ?></label></dt>
<dd><input type=\"text\" name=\"answer<?PHP echo $i ?>[<?PHP echo $row[\'id\']; ?>]\" size=\"54\" /></dd>
</dl>
<?PHP
++$i;
}
?>
if (empty($_POST[\'answer1\'][$i]) || trim($_POST[\'answer1\'][$i])==\"\") {$errors = \"yes\";}
if (empty($_POST[\'answer2\'][$i]) || trim($_POST[\'answer2\'][$i])==\"\") {$errors = \"yes\";}
// Error checking,make sure all form fields have input
if ($errors == \"yes\") {
// Not all fields were entered error
$message = \"You must enter values to all of the form fields!\";
$output = array(\'errorsExist\' => true,\'message\' => $message);
} else {
$userID = MysqLi_real_escape_string($dbc,$_POST[\'userID\']);
$answer1 = MysqLi_real_escape_string($dbc,$_POST[\'answer1\'][$i]);
$answer2 = MysqLi_real_escape_string($dbc,$_POST[\'answer2\'][$i]);
$query = \"SELECT * FROM manager_users_secretAnswers WHERE questionID = \'\".$questionID.\"\' AND userID = \'\".$userID.\"\'\";
$result = MysqLi_query($dbc,$query);
echo $query;
解决方法
您可能会遇到php类型自动查询的问题。假设您有ID为3、5、7、8的问题,那么您正在使用:
empty($_POST[\'answer1\'][$i])
$ _POST [\'answer1 \'] [3],因此您正在获取数组的第三个元素。
所以我建议不要使用数组符号,而是:
对于输入名称:answer | $ {id}或answer _ $ {id}而不是answer [$ id]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。