我试图创建一个列出数据库表中所有行的HTML表。然后,在每一行旁边我想要一个按钮,以便用户可以删除该条目。我创建了表格,但无法使按钮正常工作。PHP - 使用按钮删除数据
我一直在寻找,我发现这个职位How to Call a PHP Function on the Click of a Button,但我不能得到它的工作。我从来没有使用Ajax,所以我可能无法正确理解代码。
下面是代码:
去通过表中的所有数据,并为每个条目
<?php
for ($x = 0; $x < sizeof($data); $x++) {
?>
<input type="submit" class="tableButton" name="<?php echo $x ?>" value="<?php echo $x ?>">
<?php
}
?>
当tableButton被点击,它的值发送到AJAX创建一个按钮。 PHP
$('.tableButton').click(function() {
var clickBtnValue = $(this).val();
var ajaxurl = 'ajax.php',
data = { 'action': clickBtnValue };
$.post(ajaxurl, data, function (response) {
});
});
ajax.php
获取被按下的键的值,并用它做什么
<?php
if (isset($_POST['action'])) {
$data = $_POST['action'];
echo $data;
}
?>
目前我只是把它呼应的值来测试它,但它显示什么。我会做的是运行此查询:
DELETE from myTable WHERE id = $data;
或者,如果有人知道更好的方法来做到这一点,请让我知道。
编辑
做更多搜索后,我发现为什么这是不工作我没有料到。由于我怀疑自从我从未使用过AJAX,所以我不知道回声不会直接打印到屏幕上。我只是将回声更改为删除查询,并对其进行了测试,并且它可以工作...所以代码很好,但我认为我应该在某个时候学习AJAX。感谢所有的答复。
我也意识到可能在这里的SQL注入,这只是一个快速的模拟,谢谢。
这是一个不错的SQL注入漏洞。 –
@André:信用在何处:至少OP知道'isset' ...对于OP:如果用户将您的按钮的值更改为_“%”_,那么在查询中使用该值会给出如下结果:'DELETE FROM myTable WHERE id =“%”',那不是你要求的安全,是吗? –
这里:[我怎样才能防止SQL注入在PHP?](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)与一个很好的例子注入准备好的语句,你几乎可以将它复制/粘贴到你的PHP代码中而不是'echo $ data'中并调整查询。 –