0

好吧,我有两个文件,第一个(users.php)显示用户并将“删除”链接放在每个用户旁边。另一个文件(delete.php)在有人单击“删除链接”时删除记录。这是 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();

我的问题是,当我对用户进行分页时,我发现自己被重定向到第一页,即使我在 page3 中删除了一个用户,例如(这从脚本中很明显)我尝试使用重定向到上一页( $_SERVER['HTTP_REFERER']),但是当我读到它不安全也不实用。我想知道是否有使用 php 解决此问题的方法,或者我被迫学习 ajax 来做到这一点。

4

3 回答 3

1

这可以用 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>

和砰!您无需刷新页面即可删除。

如果您不熟悉,则需要使用 JQuery 框架来使用上面的代码。访问http://jquery.com/download/获取 .js 文件

于 2012-09-25T17:02:44.720 回答
0

为什么不在重定向到上一页时包含索引?

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

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

于 2012-09-25T17:02:27.633 回答
0

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

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

其中 x 对应于您的页码。

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

于 2012-09-25T17:02:28.277 回答