제가 작업하고있는 개인 웹 애플리케이션이 있습니다. 클릭하면 데이터베이스에서 해당 정보를 삭제해야하는 php에 대해 ajax 호출을해야한다는 링크가 있습니다. 알 수없는 이유로 데이터베이스에서 실제로 행을 삭제하지 않습니다. 나는 내가 아는 모든 것을 시도했지만, 여전히 아무것도하지 않았다. 믿을 수 없을 정도로 쉬운 일이라고 확신합니다 ... 관련 스크립트가 있습니다.jQuery 아약스 삭제 스크립트가 실제로 삭제되지 않습니다.
데이터베이스 출력 :
$sql = "SELECT * FROM bookmark_app";
foreach ($dbh->query($sql) as $row)
{
echo '<div class="box" id="',$row['id'],'"><img src="images/avatar.jpg" width="75" height="75" border="0" class="avatar"/>
<div class="text"><a href="',$row['url'],'">',$row['title'],'</a><br/>
</div>
/*** Click to delete ***/
<a href="?delete=',$row['id'],'" class="delete">x</a></div>
<div class="clear"></div>';
}
$dbh = null;
아약스 스크립트
$(document).ready(function() {
$("a.delete").click(function(){
var element = $(this);
var noteid = element.attr("id");
var info = 'id=' + noteid;
$.ajax({
type: "GET",
url: "includes/delete.php",
data: info,
success: function(){
element.parent().eq(0).fadeOut("slow");
}
});
return false;
});
});
삭제 코드 :
include('connect.php');
//delete.php?id=IdOfPost
if($_GET['id']){
$id = $_GET['id'];
//Delete the record of the post
$delete = mysql_query("DELETE FROM `db` WHERE `id` = '$id'");
//Redirect the user
header("Location:xxxx.php");
}
$ id = intval ($ _ GET [ 'id']); SQL 주입에 대해 들어 본 적이 있습니까? –
SQL은 무엇입니까? 그냥 놀림 :) 아직 개발 단계에서는 로컬 호스트에 있습니다. 나는 그것이 움직일 때 나는 십자가를 점을 찍을 것이다. – werm