2014-06-21 3 views
0

아약스 및 jquery를 사용하여 데이터베이스에서 레코드를 삭제하는 데 문제가 있습니다. 내가 버튼을 클릭해도 아무 일도 일어나지 않습니다.아약스를 사용하여 데이터베이스에서 레코드 삭제

<button class='delete_p' id_p='<?php echo $post_id; ?>'>x</button>" 
<script type="text/javascript" src="jquery-1.11.1.js"></script> 
<script src="delete_post.js"></script> 

ajax 내가 사용하고 있는데이있다 : 내 css

$(document).ready(function(){ 
$('.delete_p').click(function(){ 
var del_id = $(this).attr('id_p'); 
$.ajax({ 
    type:'POST', 
    url:'delete_post.php', 
    data:'delete_id='+del_id, 
    }); 
}); 
}); 

delete_post.php 내가 사용하고 있는데이있다 :

<?php 
include 'esas/core/database/connect.php'; 
$id = $_POST['delete_id']; 
$query = "DELETE FROM `status` WHERE `id` = '$id'"; 
?> 
+1

[** SQL injection **] (https://www.owasp.org/index.php/SQL_Injection)에 대한 정보가 열려 있습니다. –

+0

조금 더 문제를 해결해야합니다. 예를 들어 del_id가 JS에 설정 되나요? (알리미를 사용하여 알아보십시오.) –

+0

@EdCottrell SQL 쿼리가 실행되지 않으므로 SQL 인젝션으로부터 안전합니다. – blex

답변

6

data은 안 문자열이지만 자바 스크립트 개체 여야합니다.

$.ajax({ 
    type: 'POST', 
    url: 'delete_post.php', 
    data: { 
    delete_id: del_id 
    } 
}); 
+0

가 작동하지 않았습니다. @wumm – user3722203

+1

@ user3722203이 외에도 SQL 쿼리에서'$ id' 주위의 작은 따옴표를 제거해보십시오. 왜냐하면 그들은 정수가 아닌 문자열이라고 생각하기 때문입니다. 아, 그리고 게시 한 질문에서 $ 쿼리 문자열,하지만 그것을 실행하지 않으므로 아무 것도 삭제되지 않습니다. – blex

+0

감사합니다. @blex 지금 작동 중입니다. 감사합니다. :) – user3722203

관련 문제