php 实现后退
实现 PHP 页面后退功能的方法
使用 JavaScript 的 history.back() 方法
在 PHP 页面中嵌入 JavaScript 代码,调用浏览器的历史记录返回功能。
echo '<button onclick="history.back()">返回上一页</button>';
或直接通过 PHP 输出 JavaScript 代码:
echo '<script>history.back();</script>';
通过 HTTP 头信息重定向
利用 header() 函数结合 $_SERVER['HTTP_REFERER'] 实现后退(需确保 Referer 存在):
if (isset($_SERVER['HTTP_REFERER'])) {
header("Location: " . $_SERVER['HTTP_REFERER']);
exit;
} else {
echo "无法获取上一页地址";
}
使用 Session 记录上一页 URL
在跳转前存储当前页面的 URL 到 Session 中,后续通过读取 Session 实现后退:
session_start();
$_SESSION['previous_page'] = $_SERVER['REQUEST_URI'];
// 后退时调用
if (isset($_SESSION['previous_page'])) {
header("Location: " . $_SESSION['previous_page']);
exit;
}
通过表单或链接传递返回地址
在页面跳转时显式传递上一页的 URL 参数:
// 跳转时添加来源参数
$back_url = urlencode($_SERVER['REQUEST_URI']);
echo "<a href='previous_page.php?back=$back_url'>返回</a>";
// 接收后退请求时处理
if (isset($_GET['back'])) {
header("Location: " . urldecode($_GET['back']));
}
注意事项
history.back()依赖浏览器实现,可能受安全策略限制。HTTP_REFERER不可靠,某些浏览器或插件会禁用它。- 使用 Session 或参数传递时需注意 URL 安全性,避免开放重定向漏洞。







