0

2つのファイルがあります。最初のファイル(users.php)はユーザーを表示し、各ユーザーの横に「削除」リンクを配置します。もう1つのファイル(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 はページ番号に対応します。

次に、削除スクリプトが完了したら、(x) で渡された値に設定されたページャー値で users.php スクリプトをロードします。その後、ユーザー スクリプトは x 番目のページで再開できます。

于 2012-09-25T17:02:28.277 に答える