Php 无法使用$.ajax()函数从数据库中删除记录
我有记录清单。我在每条记录上都有删除按钮,我正在使用Php 无法使用$.ajax()函数从数据库中删除记录,php,jquery,Php,Jquery,我有记录清单。我在每条记录上都有删除按钮,我正在使用$.ajax()函数删除记录。但当我单击delete按钮时,它不会从数据库中删除记录,当我警告数据时,它会输出整个html页面。请帮帮我 html代码 <tbody> <tr class="gradeX odd"> <td class="sorting_1">2</td> <td class=" ">test</td>
$.ajax()
函数删除记录。但当我单击delete按钮时,它不会从数据库中删除记录,当我警告数据时,它会输出整个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>
$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";}
}
php代码
<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>
$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";}
}
在javascript中发送“url:”admin_operation.php?mode=delete_category&id=“+id”。
而且,在php脚本中,您有一个重写头并退出脚本的条件
if($mode!='add_category' || $_GET['mode']!= "**delete_category**")
{
header('location:dashboard.php');
die;
}
下一段代码
if($mode=='delete_category')
{
// ...
}
永远也达不到。
希望这能帮助您解决问题。您在这里做的事情非常危险。首先,任何人都可以通过该URL删除内容,其次,你完全可以接受SQL注入。@marty但是使用post方法,我得到了相同的错误。我该怎么办?
POST
不会阻止这两件事中的任何一件。让我们忽略这个脚本非常危险的事实,我认为问题是因为它在寻找字符串category_id(category_id=''.'$id.''),而它应该寻找整数(category_id=“.id.”)。@user3288891,不确定是什么错误,但是,为了保护-在查询之前,在.php文件的开头,检查admin是否已登录,并在将var id插入query.tnx之前检查它。。它应该是&&而不是| | if($mode!='add_category'&&&|$\u GET['mode']!=“delete_category”)