HTML表上的PHP删除按钮
我已经将结果从MySQL表输出到HTML表。在最后一列中,我想为特定行使用delete函数,但我的代码似乎不起作用 我现在已经调整了我的代码,因为你们这些好心的人给我留下了评论,它现在正在识别需要删除但不会删除的行?我被这个难倒了 再次,如果有人能向我解释这一点,并提供代码示例来纠正这一点,那么谢谢 这是我的页面代码:HTML表上的PHP删除按钮,php,html,delete-row,Php,Html,Delete Row,我已经将结果从MySQL表输出到HTML表。在最后一列中,我想为特定行使用delete函数,但我的代码似乎不起作用 我现在已经调整了我的代码,因为你们这些好心的人给我留下了评论,它现在正在识别需要删除但不会删除的行?我被这个难倒了 再次,如果有人能向我解释这一点,并提供代码示例来纠正这一点,那么谢谢 这是我的页面代码: <table border="1" cellpadding="1" cellspacing="1"> <tr> <th>Adopti
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<th>AdoptionID</th>
<th>UserID</th>
<th>AnimalID</th>
<th>Cancel</th>
<tr>
<?php
include("PHP/Connection.php");
$sql=mysql_query("SELECT * FROM `adoptionrequest` WHERE `userID` = '1' AND `approved` = 'Awaiting Approval' ");
while($requests=mysql_fetch_assoc($sql)){
echo"<tr>";
echo "<td>".$requests['adoptionID']."</td>";
echo "<td>".$requests['userID']."</td>";
echo "<td>".$requests['animalID']."</td>";
?>
<td>
<form action='PHP/Delete.php?id=<?php echo $requests['adoptionID'];?>' method="post">
<input type="hidden" name="adoptionID" value="<?php echo $requests['adoptionID']; ?>">
<input type="submit" value="Cancel" name="submit"></form>
</td>
<?php
echo"<tr>";
}
?>
</table>
收养ID
用户ID
物识别
取消
具有无效的post数据。试一试
$x = mysql_real_escape_string($_GET['adoptionID']);
$query = "DELETE FROM contacts WHERE adoptionID=$x LIMIT 1";
更改HTML表单中的字段名
<form action='PHP/delete.php' method="post">
<input type="hidden" name="adoptionID" value="<?php echo $requests['adoptionID']; ?>">
<input type="submit" value="Cancel" name="submit">
</form>
WHERE-adoptionID={$\u POST['adoptionID']}
使用isset()时应该是GET。另外,SQL注入即将到来。或者使用$\u POST['name']
。。。您可能应该添加include(“PHP/Connection.PHP”)
到删除脚本的顶部。在{$\u POST['adoptionID']}
中使用单引号没有问题。看看上面的评论。问题是,$\u GET
作为adoptionID
以动作url的形式出现,或者将$\u POST
与name
一起使用,因为这是adoptionID
@Sean I缺少的输入。仍然可以进行SQL注入,比如说再见数据库<代码>;升降台xxx--代码>@Fred ii-嘲笑别人不是一个好的选择。相反,让他们改正错误来帮助他们。@Sean只是一个例子。但是我会站在1或1=1
;-)上<代码>其中col='xxx');升降台xxxxx--
在delete.php中,我收到一个错误“未识别的索引采用ID”,这是为什么?没有POST变量采用ID
。这意味着您尚未修改HTML。隐藏的文件应该具有属性name=“adoptionID”
。
$x = mysql_real_escape_string($_GET['adoptionID']);
$query = "DELETE FROM contacts WHERE adoptionID=$x LIMIT 1";
<form action='PHP/delete.php' method="post">
<input type="hidden" name="adoptionID" value="<?php echo $requests['adoptionID']; ?>">
<input type="submit" value="Cancel" name="submit">
</form>
<?php
// Casting it to an int protects against SQL injection
$adoptionID = (int)$_POST['adoptionID'];
//Define the query
$query = "DELETE FROM contacts WHERE adoptionID={$adoptionID} LIMIT 1";
//sends the query to delete the entry
mysql_query($query); // <- You should be using mysqli_query