【问题标题】:Prevent submit button from duplicate in form防止提交按钮在表单中重复
【发布时间】:2023-03-26 20:00:01
【问题描述】:

我正在生成一个表单,其中所有问题都存储在数据库中。我不明白如何防止提交按钮在每一行(问题)中重复?我只希望表单末尾有一个提交按钮。

// generate all questions
$query = "SELECT * FROM questions";
$result = @mysqli_query($con, $query);

if ($result) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

    $body = $row['question_body'];
    $question_id = $row['question_id'];

    echo '  
        <tr>
            <form action="insert.php" method="POST">
                <td><input type="hidden" name="question_id" value="'.$question_id.'">'.$question_id, $body.'</td>
                <td><input type="radio" name="answer_value" value="1"></td>
                <td><input type="radio" name="answer_value" value="2"></td>
                <td><input type="radio" name="answer_value" value="3"></td>
                <input type="submit">
         </tr>
             </form>
                        <br/>';
}

【问题讨论】:

    标签: php forms submit


    【解决方案1】:

    您需要将提交按钮移到while 循环之外。 (附带说明,我更喜欢alternative syntax for control structures。)

    <?
    // Generate all questions
    $query = "SELECT * FROM questions";
    $result = @mysqli_query($con, $query);
    if ($result) :
    ?>
    <form action="insert.php" method="POST">
        <table>
    <?
        while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) :
            $body = $row['question_body'];
            $question_id = $row['question_id'];
    ?>
            <tr>
                <td><input type="hidden" name="question_id" value="<? echo $question_id ?>"><? echo $question_body ?></td>
                <td><input type="radio" name="answer_value" value="1"></td>
                <td><input type="radio" name="answer_value" value="2"></td>
                <td><input type="radio" name="answer_value" value="3"></td>
            </tr>
    <?
        endwhile;
    ?>
            <tr>
                <input type="submit">
            </tr>
        </table>
    </form>
    <?
    endif;
    ?>
    

    【讨论】:

      【解决方案2】:

      您将表单开始和结束标记以及提交按钮放在表格之外(以及while 循环)。

      【讨论】:

      • 我已经尝试过各种组合,但我无法让它发挥作用。移动表单标签和提交按钮时,我根本没有提交表单。
      猜你喜欢
      • 2016-02-06
      • 1970-01-01
      • 2011-06-04
      • 2016-12-07
      • 2022-01-22
      • 2011-02-19
      相关资源
      最近更新 更多