我使用以下代码成功地从我的数据库中读取和显示数据:http: //pastebin.com/rjZfBWZX 我还为表的每一行生成了一个删除按钮:)单击删除按钮调用“obrisi.php”应该删除该行,但我搞砸了:S 这是 obrisi.php 代码:
我收到 Parse 错误:语法错误,意外的“FROM”(T_STRING):S
我使用以下代码成功地从我的数据库中读取和显示数据:http: //pastebin.com/rjZfBWZX 我还为表的每一行生成了一个删除按钮:)单击删除按钮调用“obrisi.php”应该删除该行,但我搞砸了:S 这是 obrisi.php 代码:
我收到 Parse 错误:语法错误,意外的“FROM”(T_STRING):S
让我们尝试使用 _GET 而不是 _POST 来完成。
在您的主代码中,您需要将第 39 行(输入)从:
echo "<td>" . " <input type='submit' id= '$id' . ' value='Delete' >" . "</td>";
到:
echo "<td><a href='obrisi.php?id=$id'>Delete</a></td>";
在您的 obrisi.php 更改第 3 行(id 设置):
$id = $_POST['id'];
到:
$id = $_GET['id'];
最后,作为一个很好的补充,通过在关闭 php 标记之前在 obrisi.php 文件末尾添加以下行来重定向回主页。
header('location:index.php');
其中 index.php 是您拥有的主页的名称。
echo "<td>" . " <input type='submit' id= '$id' . ' value='Delete' >" . "</td>";
这里有一些简单的错误。这将输出($id = 1):
<td><input type='submit' id= '1' . ' value='Delete' ></td>
该行应更正为
echo '<td><input type="submit" id="' . $id . '" value="Delete" ></td>';
这也是错误的。
echo "<form action="obrisi.php" method="post">";
应该是这样的:
echo '<form action="obrisi.php" method="post">';
但主要问题是帖子中没有给出字段ID。html 元素的 id 不会在提交时发送。它基本上是在 HTML 结构中识别该元素。
当使用提交按钮时,您必须将表单的范围限制在该行并使用隐藏的输入字段,或者使用thanpa建议的链接
澄清:如果你想用一个帖子来做(但我建议使用 $_GET)
while ($row = mysqli_fetch_array($result) )
{
$id = $row['id'];
echo "<tr>";
echo '<form action="obrisi.php" method="post">';
echo "<td>" . $row['Ime'] . "</td>";
echo "<td>" . $row['Prezime'] . "</td>";
echo "<td>" . $row['Grad'] . "</td>";
echo "<td>" . $row['Drzava'] . "</td>";
echo "<td>" . $row['Obavijesti'] . "</td>";
echo "<td>" . $row['Tekst'] . "</td>";
echo "<td>"
echo '<td><input type="hidden" name="id" value="' . $id . '"/><input type="submit" value="Delete" ></td>';
echo "</form>
echo "</tr>";
}
并从脚本的开头和结尾删除表单的回声。
作为此处的附加说明,如果这将在某个时候在实时系统中使用,您需要在 obrisi.php 中检查 $id 它实际上是一个 ID,而不是像更多 sql 那样令人讨厌和意外的东西,查找sql注入。