2012-09-20 70 views
0

我嘗試刪除圖像目錄中的圖像,但仍然沒有發生在我的圖像文件中。 我嘗試使用此代碼使用方法:帶ID的圖像刪除功能

<a href=\"../admin/core/de_products.php?id=$row[id]\">Delete</a> 

使用此項功能:

<?php 
require_once("../inc/con_db.php"); 

if(isset($_GET["id"]) && $_GET["id"]!="") 
{ 

$image=mysql_query("SELECT * FROM products WHERE id='".$_GET["id"]."'") or die(mysql_error());` 

    if(mysql_num_rows($image)>0) 
    { 
     $row=mysql_fetch_array($image); 
     $image_name=$row["img_thumb"];` 

     $check=mysql_query("DELETE FROM products WHERE id='".$_GET["id"]."'") or die(mysql_error()); 

     if($check) 
     { 
      @unlink("images/products/thumbs/".$image_name); 
      echo "Database has been deleted!"; 
     } 
     else 
     { 
      echo "Oops, there is some problem"; 
     } 
    } 
} 
?> 
+0

注意:請注意''刪除產品WHERE id ='「。$ _ GET [」id「]。」'「'!!!這是不安全的! – Wh1T3h4Ck5

+0

1.注意sql注入攻擊! 2.確保已達到取消鏈接功能(檢查「數據庫已被刪除!」是否爲printet)3.從取消鏈接中刪除@ charachter,啓用所有php錯誤和警告並更新所有錯誤信息 – RezaSh

回答

1

您是否獲得了頁面上或在您的服務器日誌的任何警告或錯誤?我建議你從取消鏈接前刪除@,直到你完成調試這個問題,這樣你才能真正看到它可能拋出的警告。

您可能會嘗試檢查.../thumbs /目錄是否可由您的服務器運行的任何用戶寫入。或者,如果你像我一樣懶,你可以將其權限設置爲777。要刪除文件,您需要在其所在的目錄上寫入權限。

+0

不,我沒有警告或錯誤,按摩出現:數據庫已被刪除! –

+0

我假設這不是一個真正的人們可以看到它的網站類型,更多的是一個學習項目,對吧? 在任何情況下,你都應該考慮不像你一樣編寫查詢,或者至少在將id傳遞給MySQL之前使用mysql_real_escape_string。 – adamdunson

+0

當我從取消鏈接刪除@我得到錯誤按摩: 警告:取消鏈接(圖像/產品/拇指/ 2.jpg)[function.unlink]:沒有這樣的文件或目錄在D:\ MyWebSite \ css_pro \ admin \ core \ de_products_test.php 17行 –