繁体   English   中英

我无法将表单中的输入数据存入数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM