首页
学习
活动
专区
圈层
工具
发布

php 获取跳转前的地址

基础概念

在PHP中获取跳转前的地址通常涉及到会话(Session)的使用。会话是一种服务器端的技术,用于存储特定用户会话所需的信息。

相关优势

  • 持久性:会话数据可以在多个页面请求之间保持,为用户提供一致的用户体验。
  • 安全性:会话数据存储在服务器端,相对客户端存储(如Cookie)更安全。
  • 灵活性:可以存储任意类型的数据。

类型

  • 基于Cookie的会话:会话ID通过Cookie传递。
  • 基于URL的会话:会话ID通过URL参数传递。

应用场景

  • 用户登录状态的保持。
  • 购物车信息的存储。
  • 表单数据的临时保存。

获取跳转前地址的方法

在PHP中,可以通过$_SERVER['HTTP_REFERER']全局变量获取跳转前的地址。但需要注意的是,HTTP_REFERER并不是总是可靠的,因为它可以被用户或浏览器禁用。

代码语言:txt
复制
<?php
if (isset($_SERVER['HTTP_REFERER'])) {
    $previous_url = $_SERVER['HTTP_REFERER'];
} else {
    $previous_url = '来源未知';
}
echo "跳转前的地址是: " . $previous_url;
?>

遇到的问题及解决方法

问题:HTTP_REFERER为空

原因:

  • 用户直接输入URL访问页面。
  • 浏览器禁用了Referer头。
  • 使用了meta标签或JavaScript进行了重定向。

解决方法:

  • 使用会话存储上一次访问的URL。
代码语言:txt
复制
<?php
session_start();

if (isset($_SERVER['HTTP_REFERER'])) {
    $_SESSION['previous_url'] = $_SERVER['HTTP_REFERER'];
} elseif (isset($_SESSION['previous_url'])) {
    $previous_url = $_SESSION['previous_url'];
} else {
    $previous_url = '来源未知';
}
echo "跳转前的地址是: " . $previous_url;
?>

参考链接

通过上述方法,可以有效地获取跳转前的地址,并处理可能出现的异常情况。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 使用PHP语言通过邮箱获取全球公认的Gravatar头像地址

    ,只要提供你与这个头像关联的Email邮箱地址,就能够显示出你的Gravatar头像,一个邮箱地址对应一张头像图片 谁正在使用 Gravatar 程序员常去的 GitHub,以及WordPress 和...Typecho 等博客程序也都使用 Gravatar 作为评论系统的头像 通过邮箱获取地址 我有想法将十年之约官网重构,哈哈,前几天他们在群里说能不能不收集用户头像地址?...用了这么久的WordPress和Typecho,评论的时候都是使用邮箱来获取的头像,直接集成一下不就行了 /** * Get either a Gravatar URL or complete image...$val . '"'; $url .= ' />'; } return $url; } 直接调用输出的是图片地址,我们要用的话就用img标签输出一下 $email = '...>'; 图片的地址并不唯一,还有什么secure.gravatar.com的也可以生成 十年之约的成员有些可能使用的是QQ邮箱,没有Gravatar头像,所以加了一个判断如果是QQ邮箱就获取

    2.5K70

    PHP 如何获取 BiliBli 指定用户粉丝数量 寻找 API 地址

    要怎么获取呢?...首先咱们打开个人空间 (查看链接»),我们可以看到右下角有关注数和粉丝数 (少的可怜嘤嘤嘤 #(泪)  (闭嘴 #(受虐滑稽) 然后咱们按下 F12 #(cos滑稽)#(OK) 选择 Network 记得点开左上角那个红点点...,刷新页面 铛铛#(OK)#(墨镜滑稽) 我们就可以看到一大串的东东,这里会显示网页加载的一些东东,咱瞧啊瞧 看啊看 诶!...following 和 follower 都对应上了关注数和粉丝数#(欢呼) 就这个东东,找到了API接口就好办了~ 二话不说打开 Sublime Text 撸代码 上面都有注释我就不多解释了~ 上传php...文件到服务器 访问 查看链接» 就可以看见获取信息了 好耶ヽ(✿゚▽゚)ノ搞定

    1.7K20

    获取JOOX的音乐地址

    Joox 相信很多人都熟悉,它是腾讯音乐的国外版本,可以免费听大部分国内要 VIP 的歌(包括单独付费的歌曲) 今天我来教大家如何获取他的音乐地址 进入官网 首先我们进入官网: 点击进入 看到的应该是这样的场景...,如果右上角没出现 Log in 就请参照CCKNBC 大佬的教程配置 搜索歌曲 在 Search Songs 处搜索歌曲,这里以周杰伦的 Mojiti 为例 在此页面的时候按下 F12 F12 切换到...Network 看好这里 点击 Play 的时候看有没有新的请求 一般都会请求失败,因为 API 被墙了 取得 API 地址 我们把鼠标移到这两个新增的请求上面 找到以 https://api-jooxtt.sanook.com...开头的地址,将他复制下来 在新窗口打开 接着只需要找到 play_url_list 将他打开即可 End 本文结束

    1.8K10

    Selenium - 获取页面跳转之后的链接

    起因 今天在使用Flask+Selenium开发的时候遇到了一个天坑,这个页面会自动跳转到新页面,但是我使用driver.current_url无法获取到最新的页面url,获取到的还是driver.get...(url)的 解决 在我百度了将近四个小时的情况下,终于找到了最稳妥的方法,只需要使用driver.switch_to.window重新切换一下标签页,就可以获取到最新的url了 # 获取全部标签页 window...= driver.window_handles # 将激活标签页设置为最新的一项(按自己业务改) driver.switch_to.window(window.pop()) 然后运行,完美获取!!!...结尾 我是不会告诉你,我还使用了很多弯弯绕绕的方法,包括driver.refresh(),虽然不知道为什么要使用这个。 呵,可爱又奇怪的Selenium ~

    4.2K20

    php中的header跳转常用方式

    header("Location:")作为php的转向语句。其实在使用中,他有几点需要注意的地方。...1、要求header前没有任何输出 但是很多时候在header前我们已经输出了好多东西了,此时如果再次header的话,显然是出错的,在这里我们启用了一个ob的概念,ob的意思是在服务器端先存储有关输出...exit; else{ .......... ob_flush(); //可省略 要想在header前有输出的话,可以修改php.ini文件 output_handler =mb_output_handler...输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。...2、ob_start :打开输出缓冲区 函数格式:void ob_start(void) 说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。

    3K10
    领券