首页 > 解决方案 > PHP 从删除页面重定向

问题描述

我有两页:index.phpstats.php

两个页面都包含来自数据库的相同查询,并且有一个删除按钮。当按下delete-button它时重定向如下:https://example.com/delete.php?id=50;其中 50 是行 ID。

delete.php看起来像这样:

<?php

include "db.php"; // Using database connection file here

$id = $_GET['id']; // get id through query string

$del = mysqli_query($link,"DELETE FROM table WHERE id = '$id'"); // delete query

if($del)
{
    mysqli_close($link); // Close connection
    header("location:index.php"); // redirects to all records page
    exit;   
}
else
{
    echo "Error deleting record"; // display error message if not delete
}
?>

现在的问题是,当用户按下 delete 时,它​​会删除该行,并重定向回 index.php。但是我怎样才能检查它是从哪个页面删除的,然后重定向回那个页面呢?

编辑:

出于测试目的,我在下面尝试了类似的操作,但是从两个页面中删除时,它们都给了我相同的输出:“2”:

if($del)
{
    if($_SERVER['HTTP_REFERER'] == "index.php")
    {
        echo "1";
    } else {
        
    echo "2";
    
    }   
}

标签: phpmysqlmysqli

解决方案


您可以使用$_SERVER["HTTP_REFERER"].
它包含上一页的 URL。

$_SERVER['HTTP_REFERER']包含完整的 URL。
前任:http://localhost/my-site/index.php

所以你可以这样做:

header("location:".$_SERVER['HTTP_REFERER']);

推荐阅读