my if条件不适用于$_GET['delete']条件。如何解决这个问题?我想通过读取url从表中删除一行。如果url包含工作delete this,那么mysql行应该被删除。我在这里做错了什么?
<?php
$query = "SELECT * FROM category";
$select_category_id_and_title = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($select_category_id_and_title) )
{
$cat_id = $row['id'];
$cat_title = $row['cat_title'];
echo "<tr>";
echo "<td>$cat_id</td>";
echo "<td>$cat_title</td>";
echo "<td><a href='admin_category_dashboard_new.php?delete = {$cat_id}'>DELETE</a></td>";
echo "<td><a href='admin_category_dashboard_new.php?edit = {$cat_title}'>EDIT</a></td>";
echo "</tr>";
//echo $_GET['delete'];
}
?>
<?php
if(isset($_GET['delete'])) // doesn't work
{
$delete_cat_id = $_GET['delete'];
echo '<h1>' . $delete_cat_id . '</h1>';
$query = "DELETE FROM category WHERE id = $delete_cat_id ";
$Cat_id_delete_query = mysqli_query($connection, $query);
if(!$Cat_id_delete_query)
{
die("error" . mysqli_error($connection));
}
header("Location: admin_category_dashboard_new.php ");
}
?>
您在URL中的"delete"后面包含了一个空格。
因此,您需要查找的$_GET
索引是'delete_'
在文件中尝试以下操作
var_dump($_GET);
然后转到你的文件.php?delete=任何
然后用你的file.php重试?delete=任何
查看的差异
如果条件根本没有激发,那么可能是因为:
- 您在URL中拼错了delete
- delete的值为null
即使值为null,isset()函数也会返回false;而不仅仅是在密钥不存在的情况下。