Php 删除记录而不重定向

Php 删除记录而不重定向,php,Php,我有两个文件,第一个文件(users.php)显示用户并在每个用户旁边放置“delete”链接,另一个文件(delete.php)在有人单击“delete链接”时删除记录。 下面是delete.php: $user_id = $_REQUEST['id']; $delete_query = sprintf("DELETE FROM 'tablename' WHERE id = %d", $id); mysql_query($delete_query); $msg = "the users has

我有两个文件,第一个文件(users.php)显示用户并在每个用户旁边放置“delete”链接,另一个文件(delete.php)在有人单击“delete链接”时删除记录。 下面是delete.php:

$user_id = $_REQUEST['id'];
$delete_query = sprintf("DELETE FROM 'tablename' WHERE id = %d", $id);
mysql_query($delete_query);
$msg = "the users has been deleted";
header("Location: http://localhost/intranet/in-admin-panel/users.php?success_message={$msg}");
exit();
我的问题是,当我对用户进行分页时,我发现自己被重定向到了第一个页面,即使我在第3页删除了一个用户(例如,从脚本中可以明显看出) 我尝试使用($\u SERVER['HTTP\u REFERER'])重定向到上一页,但据我所知,这并不安全,也不实用。
我想知道是否有一种使用php解决这个问题的方法,或者我被迫学习ajax来解决这个问题。

为什么不在重定向到上一页时加入索引

header("Location: http://localhost/intranet/in-admin-panel/users.php?success_message={$msg}&id{id}");

您还需要使用实际页面调用delete.php。

您可以使用寻呼机号码生成所有删除链接,如下所示:

<a href="delete.php?pager=x">delete</a>

其中x对应于您的页码


然后,当删除脚本完成时,加载users.php脚本,并将pager值设置为传入的值(x)。然后,您的用户脚本可以在第X页恢复。

使用JQuery可以轻松完成这一任务,请查看下面的简单示例:

 <script src="http://code.jquery.com/jquery-1.8.2.min.js" type="text/javascript">

</script>
        <script language="javascript">
$(document).ready(function () {

    function DeleteItDude() {

                var param = "id=1";
                $.ajax({
                    type: "POST",
                    url: "/delete.php",
                    data: param,
                    success: function (msg) {

                        alert(msg)
                    }
                });
}

            $("#lkDelete").click(function () {
                DeleteItDude();
            }

);

 });    
        </script>

<a href="#" id="lkDelete">Delete it Dude</a>

$(文档).ready(函数(){
函数DeleteItDude(){
var param=“id=1”;
$.ajax({
类型:“POST”,
url:“/delete.php”,
数据:param,
成功:功能(msg){
警报(msg)
}
});
}
$(“#lkDelete”)。单击(函数(){
DeleteItDude();
}
);
});    
砰!!您可以在不刷新页面的情况下进行删除


如果您不熟悉,您将需要使用JQuery框架来使用上面的代码。获取.js文件

AJAX并不难学。使用:)另一个变体是使用表单和iframe,目标表单使用iframe。为了节省时间,重写代码,安全问题,让生活更轻松,为什么不使用框架呢?很好。。。享受你的服务器pwn3d。这看起来很好,我知道我必须学习Ajax,只是我必须在几天内呈现我的项目。因此,你的例子就是我在我的案例中所需要的一切?我更改了下面的代码以明确说明,它非常简单,这是一个使用JQuery的简单javascript代码,它提交给delete.php要删除的id,您可以在success:part上捕获.php结果。没什么大不了的,你需要添加更多的代码。DeleteItDue()必须从DOM元素中获取正确的ID,然后必须从表中删除该行。细节取决于您的表的结构。虽然您可以单独使用PHP来实现这一点,但这是AJAX的一个很好的用例。您有大量的项目要审查,您可能希望对几个项目采取行动。AJAX看起来很吓人,但特别是对于jQuery,一旦你有了这个想法,使用它也不错。如果你对书感兴趣的话,头一本AJAX书是一个很好的开始。