Php 如何在循环中发布变量?
我想发布一些包含在循环中的输入。问题是,当我单击sumbit按钮时,只会发布输入的最后一个值。有什么建议吗Php 如何在循环中发布变量?,php,Php,我想发布一些包含在循环中的输入。问题是,当我单击sumbit按钮时,只会发布输入的最后一个值。有什么建议吗 while ($i <= $number) { echo '<label class="col-6 col-lg-4 col-form-label">Question ' . $i . '</label><br> <input class="col-6 col-lg-6 form-control" name="questio
while ($i <= $number) {
echo '<label class="col-6 col-lg-4 col-form-label">Question ' . $i . '</label><br>
<input class="col-6 col-lg-6 form-control" name="question" id="question" placeholder="Type your question" required/><br>
<div class="form-group row">
<label class="col-6 col-lg-4 col-form-label">Answer 1</label>
<div class="col-6 col-lg-8 d-flex align-items-center">
<input name="correct_answer" type="text" placeholder="Correct answer goes here" required/>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-lg-4 col-form-label">Answer 2</label>
<div class="col-6 col-lg-8 d-flex align-items-center">
<input name="wrong_answer" type="text" placeholder="Type a wrong answer" required/>
</div>
</div>
<div class="form-group row">
<label class="col-6 col-lg-4 col-form-label">Answer 3</label>
<div class="col-6 col-lg-8 d-flex align-items-center">
<input name="wrong_answer2" type="text" placeholder="Type a wrong answer" required/>
</div>
</div><hr>';
$i++;
if(isset($_POST['question'])) {
$question = $_POST['question'];
echo $question;
}
}
while($i这是正常的,因为您删除了每个输入的名称,并且只在循环中发送最后的输入
为了避免这种情况,您可以在输入或选择中添加[]作为每个名称的后缀。。。
例如:
玩得开心:)输入具有相同的名称。这意味着,如果它们的格式相同,则最后一个将覆盖其他格式。例如,您可以使用$i
变量使所有名称唯一
另一个解决方案是使用阵列。介绍阵列解决方案
<input name="wrong_answer2[]" type="text" placeholder="Type a wrong answer" required/>
$wrong_answer2 = (array) $_POST['wrong_answer2'];