[英]I can't stock my input data from a form into an array
我有一个问题; 我正在尝试将用户放入表单的所有信息发送到页面。 表单的输入是可变的,取决于用户设置的内容。 (表单代表用户可以设置的测试)。 所以这里是我如何用表单做我的页面:
<form method="post" action="test_voc_fr.php">
<div class="row">
<?php
$questionNumber = 1;
$questionId = 100;
while($return = $request->fetch()) {
if($return['kanji'] == NULL) {
$return['kanji'] = "--";
}
?>
<div class="col-md-3">
<label for="<?php echo $questionNumber; ?>"><strong><?php echo $return['kanji']." (".$return['hiragana'].") :"; ?></strong></label>
<input type="hidden" name="<?php echo $questionId; ?>" id="<?php echo $questionNumber; ?>" value="<?php echo $return['id']; ?>">
<input type="text" name="<?php echo $questionNumber; ?>" id="<?php echo $questionNumber; ?>">
</div>
<?php $questionNumber++;
$questionId--;
}
?>
</div>
<input type="hidden" name="number" value="<?php echo $number ?>">
<input type="submit" value="Voir les résultats">
</form>
这是我处理所有输入以将它们放入数组的另一个页面:
$number = $_POST['number'];
$testAnswer = array();
$answerId = array();
for($n = 1; $n <= $number; $n++) {
$testAnswer[$n] = $_POST[$n];
echo $testAnswer[$n]."<br>";
}
for($n = 100; $n > (100-$number); $n--) {
$increase = 1;
$answerId[$increase] = $_POST[$n];
echo $answerId[$increase]."<br>";
$increase++;
}
第一个数组$testAnswer[]
很好,因为所有信息都在里面。 但是第二个数组$answerId[]
只包含索引[1]
上的一个值。 事情是,在for
循环中,行echo $answerId[$increase]
正确显示了所有不同的 id。 但是在for
循环之外,当我使用print_r($answerId)
,我只有一个值。
我正在学习编码,这是我第一次使用 stackoverflow,如果这里有明显的错误,请见谅。
你在 for 循环中的逻辑是错误的。 当您再次进入循环时,您始终将$increase
设置$increase
1。 $increase
将始终为1
,因此会覆盖以前的数据。 在循环外设置$increase
然后在循环内增加它。
$increase = 1;
for($n = 100; $n > (100-$number); $n--) {
$answerId[$increase] = $_POST[$n];
echo $answerId[$increase]."<br>";
$increase++;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.