如何从php echo形式跟踪响应

问题描述 投票:0回答:1

我在while循环中有代码,最终回显出30个问题。由于它使用相同的代码进行迭代,只是变量值不同,因此我无法跟踪使用_POST的标记。

反正我是否可以存储用户在使用while循环时选择的所有答案?

代码:

  while (counter !=0) {
        echo '
            <form method="post">

                <input type="radio" id="answerA" name= "answerA " value="answerA" required> 
                <label for="answerA"> ' . $row['answerA'] . ' </label><br>
                <input type="radio" id="answerB" name="answerB" value="answerB"> 
                <label for="answerB"> ' . $row['answerB'] . ' </label><br>
                <input type="radio" id="answerC" name="answerC" value="answerC"> 
                <label for="answerC"> ' . $row['answerC'] . ' </label><br>
                <input type="radio" id="answerD" name="answerD" value="answerD">
                <label for="answerD"> ' . $row['answerD'] . ' </label><br>


            </form>
        '
        ;

}
php html forms echo web-development-server
1个回答
1
投票

将行ID放在隐藏的输入中。您可以使用$_POST['id']知道答案是哪个问题。

while (counter !=0) {
    echo '
        <form method="post">

            <input type="radio" id="answerA-' . $row['id'] . '" name= "answer-' . $row['id'] . '" value="answerA" required> 
            <label for="answerA-' . $row['id'] . '"> ' . $row['answerA'] . ' </label><br>
            <input type="radio" id="answerB-' . $row['id'] . '" name="answer-' . $row['id'] . '" value="answerB"> 
            <label for="answerB-' . $row['id'] . '"> ' . $row['answerB'] . ' </label><br>
            <input type="radio" id="answerC-' . $row['id'] . '" name="answer-' . $row['id'] . '" value="answerC"> 
            <label for="answerC-' . $row['id'] . '"> ' . $row['answerC'] . ' </label><br>
            <input type="radio" id="answerD-' . $row['id'] . '" name="answer-' . $row['id'] . '" value="answerD">
            <label for="answerD-' . $row['id'] . '"> ' . $row['answerD'] . ' </label><br>
            <input type="hidden" name="id" value="' . $row['id'] . '">

        </form>
    '
    ;

}

还有其他问题。 ID必须是唯一的,因此您应该在每个答案的ID中包含问题ID。

无线电组中的所有名称必须相同,这是浏览器如何知道它们是同一问题的替代答案。但是每种形式都需要有不同的广播组。因此,您应该从单选按钮名称中删除ABCD,但要添加问题ID。

© www.soinside.com 2019 - 2024. All rights reserved.