MySQL输入和用户输入的PHP发布组合


PHP posting combination of mysqli-input and user input

我有一个php/html表表单,它由来自mysqli调用的只读数据(下面数据字段中的$变量)和末尾的用户输入文本字段(input-type=text)的组合填充。一行如下示例所示:

  <tr>
    <td><?php echo "<strong>$navn</strong>";?></td>
    <td><?php echo "$primaereMuskelgruppe";?></td>
    <td><?php echo "$sekundaereMuskelgruppe";?></td>
    <td><?php echo "$redskab";?></td>
    <?php
    switch ($antalReps) {
        case 'Alle':?>
            <td><?php echo "$vaegt12reps";?></td>
            <td><?php echo "$vaegt10reps";?></td>
            <td><?php echo "$vaegt8reps";?></td>
            <td><?php echo "$vaegt6reps";?></td>
            <?php break;?>
        <?php case 12:?>
    <td><?php echo "$vaegt12reps";?></td>
             <?php break;?>
        <?php case 10:?>
    <td><?php echo "$vaegt10reps";?></td>
             <?php break;?> 
    <?php case 8:?>
    <td><?php echo "$vaegt8reps";?></td>
             <?php break;?> 
         <?php case 6:?>
    <td><?php echo "$vaegt6reps";?></td>
             <?php break;?>
       <?php }  ?> 
    <td><?php echo "$inkrementering";?></td>
    <td><input type="text" name="antalReps3saet"><br></td>
    <?php } ?>
</tr>

该表将有多行。

当用户提交表时,我希望将每一行的数据发布在一个单独的页面上(用于不同的函数),并分别迭代每一行,同时访问mysqli数据和用户输入数据。

我很确定我需要制作和发布数组,但我不知道如何同时包含只读和用户输入。

有什么帮助吗?

如果我正确理解你。。。这段代码正在创建一个表单,该表单将发布到另一个页面,并且所有这些值都需要包含在该帖子中吗?

在这种情况下,所有这些值都需要是形式值。DOM结构不包含在POST请求中,表单元素值包含在内。例如,这里有一个表单元素:

<input type="text" name="antalReps3saet">

然而,这不是一个形式元素:

<td><?php echo "$vaegt6reps";?></td>

因此,$vaegt6reps的值需要在form元素中。您可以直接在代码中使用这些元素,并依靠样式使它们看起来像非表单(仅显示)DOM元素:

<td><input type="text" name="vaegt6reps" value="<?php echo "$vaegt6reps";?>"></td>

如果用户发现这些是表单元素,样式可能会变得棘手,用户体验可能会变得奇怪,这取决于浏览器。(正如你所说,你可能想禁用它们,使其成为"只读",但请记住,如果任何用户愿意,他们都可以以任何形式的POST操作值。在这种情况下,"只读"是一种错误的安全感。)

因此,您可以将这些值作为隐藏的表单元素放在它们的显示旁边:

<td><?php echo "$vaegt6reps";?><input type="hidden" name="vaegt6reps" value="<?php echo "$vaegt6reps";?>"></td>

一个精明的用户仍然可以在执行POST之前修改值,除了不依赖客户端值之外,你真的无能为力。但在这种情况下,用户体验将更容易维护。