2015-11-06 130 views
-4
$query = "SELECT * FROM categories"; 
$select_categories = mysqli_query($connection, $query); 

while ($row = mysqli_fetch_assoc($select_categories)) { 
$cat_id = $row['cat_id']; 
$cat_title = $row['cat_title']; 

echo "<tr>"; 
echo "<td>{$cat_id}</td>"; 
echo "<td>{$cat_title}</td>"; 
echo "<td><a href='categories.php?delete={$cat_id}'>Delete</a></td>"; 
echo "</tr>"; 

} 

?> 

<?php 

//DELETE QUERY; 

if(isset($_GET['detele'])) { 

$the_cat_id = $_GET['delete']; 
$query = "DELETE FROM categories WHERE cat_id = {$the_cat_id} "; 
$delete_query = mysqli_query($connection,$query); 
header("Location: categories.php"); 
} 

?>  

因此,我有這個頁面顯示我從我的數據庫中的每一個項目(類別),我有他們按id排序,一切都工作得很好,只有一件事情。當我嘗試刪除一個項目時,沒有任何反應。事情是我沒有錯誤,這讓我徘徊爲什麼不工作。PHP - 刪除功能不工作

+3

注:您的代碼是*寬*開放給** SQL注入攻擊**。你基本上允許用戶在你的數據庫上執行他們想要的任何代碼。 – David

+0

我知道。現在我正在學習php,除此之外,我只想學習基礎知識。 –

+0

安全*是*「基礎知識」。爲什麼你會故意學會做事*糟糕*? 「我以後會修復它」是所有軟件開發中最具破壞性和最普遍的錯覺。 – David

回答

4

可能在if(isset($_GET['detele']))被拼寫錯誤,detele應該是delete檢查你的代碼

+0

是的,那是錯誤的。現在我在header()行中出現錯誤。 –

+0

什麼是錯誤 –

+0

警告:無法修改頭文件信息 - 在C:\ xampp \ htdocs \ cms \中已經發送了頭文件(輸出在C:\ xampp \ htdocs \ cms \ admin \ includes \ admin_navigation.php中爲88) admin \ categories.php on line ... –

1

是拼寫錯誤所以它永遠不會進入狀態,永遠不會運行刪除查詢。 請糾正並確認。

錯誤:

if(isset($_GET['detele'])) 

正確:

if(isset($_GET['delete'])) 
+0

我糾正它,它的工作原理。 :) –