我正在生成一个调查问题页面,其中包含数据库中的问题. HTML输入类型根据问题类型更改:
form.php的
<?php
$query = "select q_id,qtext from questions order by q_id ";
$result = mysqli_query($conn, $query); // replaced with procedural mysqli
if (mysqli_num_rows($result) == 0)
$flag = 1;
else {
if (!$result)
$result_list = array();
while ($row = mysqli_fetch_array($result)) {
$result_list[] = $row;
}
$i = 0;
foreach ($result_list as $row) {
$q_id[$i] = $row[0];
$qtext[$i] = $row[1];
$i++;
}
}
?>
<form action="action.php" method="post" name="form">
<?php
for ($j = 0; $j < $i; $j++) {
unset($res_list);
switch ($qtype[$j]) {
case text:
echo " <textarea name='qno[$j]'></textarea><br/>";
break;
case checkbox:
for ($l = 0; $l < 3; $l++)
echo "<input type='checkbox' name='qno[$j]' > <label> $l </label>";
break;
}
}
?>
</form>
这个页面工作正常.但我无法通过$_POST获取此数据.这是
action.php的
<?php
for ($j = 0; $j <= $no_of_ques; $j++) {
$answer[$j] = $_POST['qno'][$j];
echo $answer[$j];
}
?>
我应该为我的输入命名,我应该如何通过POST获取它们?
解决方法:
乍一看,您的代码没有任何问题(因为您最近的编辑)所以您应该尝试print_r($_ POST)来调试并查看您的帖子数据实际包含的内容.
然后,您可以使用action.php中的foreach循环更轻松地迭代答案
foreach ($_POST['qno'] as $i => $answer) {
echo "Answer Number $i: $answer";
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。