【发布时间】:2015-08-23 10:36:17
【问题描述】:
我有一个问题阻止我继续我的项目。在运行查询时无法删除某个行 ID 之前,我无法理解出了什么问题。
我的代码,一步一步:
(1) 这是按钮代码,一旦我单击它会发出一条弹出消息以确认删除,一旦我确认删除(确定),在浏览器上它会显示该行已删除(消失)并且当我刷新时页面,数据再次出现,表示它没有被删除。
<input type="button" onclick='return deletethis(this)' class="btn btn-
triangle btn-red" value="X">
(2)以及java代码:
<script type="text/javascript">
function deletethis(el){
var e = $(el).parent().attr('id');
var cnf = confirm('Are you sure, you want to delete?');
if(cnf == true){
$(el).parent().parent().hide(1000);
$.post('deleteAdd.php', {id:e}, function(data){
});
}
}
</script>
(3) 这是“deleteAdd.php”文件,其中包含用于删除的 PHP 代码
<?php
global $database;
$uid = $_POST['id'];
$q = "DELETE FROM sale_daily WHERE id=$uid";
$r = $database->query($q);
$rw = $database->fetch_array($r);
?>
【问题讨论】:
-
您很容易受到sql injection attacks 的攻击。享受您的数据库 pwn3ed。同样,您没有“java 代码”。您有 JAVASCRIPT 代码。它们是两种完全不同的语言。您是否进行过任何基本调试,例如检查
e是否确实包含您想要的 JS 值,并且它是否显示在服务器上的$uid中? -
如果您只是从数据库中删除一行,我认为您不需要获取任何内容。
-
尝试连接帖子 var
"DELETE FROM sale_daily WHERE id=".$uid." -
还要检查您是否连接到数据库。尝试获取一些记录作为测试以确认这一点。
-
这是从哪里获得价值的?
$_POST['id']
标签: javascript php mysql