[英]Bug in form working with PHP, MySQL and HTML
家伙。 在使用以下形式的表格之前,我一直对我的应用程序没意见。 我在此表中有2个项目,ID为“ 1”和“ 2”。 即使我在“ 1” ID项目上按“提交”,每次也会打印“ 2”。 有人知道这可能是什么问题吗? 谢谢。
<form method="POST">
<?php
$query = "SELECT * FROM table";
while($row = $query->fetch_array())
{
$id = $row['id'];
?>
<input type="hidden" name="id" value="<?php echo $id; ?>" >
<input type="submit" name="submit">
<?php } ?>
</form>
<?php
if(isset($_POST['submit']))
{
echo $_POST['id'];
}
?>
您将以相同的名称将两个项目输出为相同的形式。 当您单击“ 提交”按钮时,它将基于name属性收集表单中的所有字段,并将其发送到发布表单的任何位置。
如果您想使用一个按钮来提交每个ID,并使用一个单独的按钮,则可以尝试为每个ID创建一个新表单。 还有其他方法可以执行此操作,但是根据您当前的代码,尝试执行以下操作:
<?php
$query = "SELECT * FROM table";
while($row = $query->fetch_array())
{
$id = $row['id'];
?>
<form method="POST">
<input type="hidden" name="id" value="<?php echo $id; ?>" >
<input type="submit" name="submit">
</form>
<?php } ?>
<?php
if(isset($_POST['submit']))
{
echo $_POST['id'];
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.