2014-03-01 109 views
0

我有記錄列表。我有刪除每個記錄的按鈕,我正在刪除記錄與$.ajax()函數。但是當我點擊刪除按鈕時,它不會從數據庫中刪除記錄,並且當我提醒數據時,它會輸出整個html頁面。下面是代碼。請幫幫我。

HTML代碼

<tbody> 
     <tr class="gradeX odd"> 
     <td class="sorting_1">2</td> 
     <td class=" ">test</td> 
     <td class=" ">test</td> 
     <td class="center ">0</td> 
     <td class="center ">Active</td> 
     <td class=" "><button type="button" class="btn btn-default btn-circle" name="editRecord"><i class="fa fa-pencil-square-o"></i></button> 
      <button type="button" class="btn btn-danger btn-default btn-circle" id="2" name="deleteRecord"><i class="fa fa-times"></i></button></td> 
     </tr> 
     <tr class="gradeX even"> 
     <td class="sorting_1">3</td> 
     <td class=" ">sarees</td> 
     <td class=" ">contains sarres</td> 
     <td cl="center ">1</td> 
     <td class="center ">Active</td> 
     <td class=" "><button type="button" class="btn btn-default btn-circle" name="editRecord"><i class="fa fa-pencil-square-o"></i></button> 
      <button type="button" class="btn btn-danger btn-default btn-circle" id="3" name="deleteRecord"><i class="fa fa-times"></i></button></td> 
     </tr> 

    </tbody> 

jQuery的

$(document.body).on('click', '[name="deleteRecord"]', function(){ 
    var id= $(this).attr('id'); 
    var parent = $(this).parent().parent(); 
     if (confirm("Are you sure you want to delete this row?")) 
     { 
     $.ajax({ 
        type: "GET", 
        url: "admin_operation.php?mode=delete_category&id="+id, 
        cache: false, 

        success: function(data) 
        { 
        alert(data); 
        parent.fadeOut('slow', function() {$(this).remove();}); 
        } 
      }); 
     } 
    }); 

PHP代碼

$mode = $_GET['mode']; 

if($mode!='add_category' || $_GET['mode']!= "delete_category") 
{ 
    header('location:dashboard.php'); 
    die; 

    } 


    if($mode=='delete_category') 
    {  

     $id=$_GET['id']; 
     $q=$db->query("DELETE FROM db_category WHERE category_id='".$id."'"); 
     if($q){ echo "yes";} 
     else{ echo "no";} 

    } 
+7

你在做什麼這裏是真的* *危險。首先,任何人都可以通過該URL刪除的東西,其次,你寬OPE n到SQL注入。 – Marty

+0

@marty但使用post方法,即時獲取相同的錯誤。我該怎麼辦 ? – user3288891

+1

'POST'不會阻止這兩件事中的任何一件。 – Marty

回答

0

您發送「URL:「admin_operation.p生命值? 模式= delete_category & ID =「+ ID,」在javascript。 而且,在PHP腳本你有重寫頭和退出腳本的條件。

if($mode!='add_category' || $_GET['mode']!= "**delete_category**") 
{ 
    header('location:dashboard.php'); 
    die; 
} 

下一個代碼塊

if($mode=='delete_category') 
{ 
    // ... 
} 

從未達到。 希望這有助於你的解決方案。

+0

tnx ..它應該是&&而不是|| if($ mode!='add_category'&& | $ _GET ['mode']!=「** delete_category **」) – user3288891