表单提交按钮不适用于PHP循环

时间:2012-03-08 16:12:12

标签: php forms button submit

我有这段代码

<tbody>
            <form action="dsf.php" method="post">
            <?PHP if(mysql_num_rows($leerdb) > 0) {while ($rs = mysql_fetch_row($leerdb)) {?>
                <tr>
                    <td><input name="idecod[]" type="checkbox" value="<?php echo $rs[0]; ?>"  /></td>
                    <td><?php echo $rs[0]; ?></td>
                    <td><?php echo $rs[1]; ?></td>
                    <td><?php echo $rs[2]; ?></td>
                    <td><?php echo $rs[3]; ?></td>
                    <td><?php echo $rs[4]; ?></td>
                    <td><?php echo $rs[5]; ?></td>
                    <td>BsF. <?php echo $rs[6]; ?></td>
                </tr>
                <?PHP }}?>
                <input class="enviar" type="submit" name="enviar" id="enviar" value="Editar Asesor" />
        </form>
             </tbody>

我不知道为什么提交按钮不起作用。当我点击它时,没有任何事情发生。

似乎php循环中的某些内容正在制造混乱..但据我所知,PHP首先比HTML更早,因此,当FORM HTML出现时,PHP代码已经执行。

我的错误在哪里。??

提前致谢。

罗伯特

2 个答案:

答案 0 :(得分:2)

您正在生成无效的HTML。

您不能将表格包裹在表格行中而不将其包裹在整个表格周围。

您不能在表格行之间放置提交按钮。

您正在使用的浏览器可能会尝试从错误中恢复,以便将表单移动到允许的位置,但不包含任何控件。

注意:不同的浏览器会以不同的方式从表格的不适当部分中恢复表格。

Use a validator,并撰写真实的HTML。

答案 1 :(得分:-1)

而不是打开while的括号,如果使用php短标签。例如:

    <?php if (condition): ?>
        output your html here
    <?php endif; ?>

同样的事情发生了。在这里阅读:www.php.net/manual/en/control-structures.while.php