gpt4 book ai didi

php - 表单数据在第二个 POST 中被覆盖?

转载 作者:行者123 更新时间:2023-11-29 02:38:33 25 4
gpt4 key购买 nike

我在编辑 mySQL 数据库的网页中嵌入了两种形式。第一种形式(“add.php”)允许用户输入名称并将其添加到数据库中。然后在重新加载网页时,该表是根据数据库中的所有数据构建的。第二种形式允许用户通过单击表中对应于该行的单元格从数据库中删除。

这是 index.php 文件的相关部分:


<table>
<tbody>
<?php
$con = mysqli_connect('localhost','[username]','[pwd]','tablename');
$results = mysqli_query($con, "SELECT name FROM tablename");
while ($row = mysqli_fetch_assoc($results)) {
echo "<tr class=\"row100 body\">
<td class=\"cell100 column1\">".$row['name']."</td>
<td class=\"cell100 column2\">
<form id=\"delete\" action=\"delete.php\" method=\"post\">
<input form=\"delete\" type=\"hidden\" name=\"dname\" value=\"".$row['name']."\" />
<input form=\"delete\" type=\"submit\" value=\"X\" />
</form>
</td>";
}
?>
</tr>
<tr>
<td class="cell100 column1">
<form id="add" action="insert.php" method="post">
<input form="add" type="text" name="name" value="Name" />
</form>
</td>
<td class="cell100 column2"><input form="add" type="submit" value="Add to list" /></td>
</tr>
</tbody>
</table>

问题是无论我点击删除哪一行,它总是删除最近添加的那一行。当我检查该行时,正确的值存储在删除表单中;但是,回显 delete.php (dname) 收到的值会显示错误的名称。

知道这里可能出了什么问题吗?有没有比将要删除的名称传递到表中的字段以将其存储用于删除表单更简单的方法?谢谢。

最佳答案

想通了。我没有使用全新的表单和 POST,而是将删除表单替换为

<a href=\"delete.php?dname=".$row['name']."\">X</a>

然后 delete.php 代码使用 GET 而不是 POST。

关于php - 表单数据在第二个 POST 中被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58897717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com