php怎么获取上一个页面的url

worktile 其他 42

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,你可以使用`$_SERVER`超全局变量来获取上一个页面的URL。具体的获取方式是使用`$_SERVER[‘HTTP_REFERER’]`。下面是一个简单的示例代码:

    “`php

    “`

    在代码中,首先使用`isset()`函数来检测`$_SERVER[‘HTTP_REFERER’]`是否存在。如果存在,则将其赋值给`$prevPage`变量,并输出上一个页面的URL。如果不存在,则输出”没有上一个页面”。

    需要注意的是,`$_SERVER[‘HTTP_REFERER’]`并不是百分之百准确的,因为它是通过HTTP头中的`Referer`字段来获取的,而该字段是由浏览器提供的,用户也可以手动修改。因此,`$_SERVER[‘HTTP_REFERER’]`可能会因为浏览器设置、防火墙或者代理的限制而被隐藏或者修改。所以在使用时要谨慎考虑其可靠性。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在PHP中,可以使用`$_SERVER`超全局变量来获取上一个页面的URL。具体方法如下:

    1. 使用`$_SERVER[‘HTTP_REFERER’]`变量获取上一个页面的URL。`HTTP_REFERER`表示引荐页,它包含了用户从哪个页面链接跳转到当前页面。示例代码如下:

    “`php
    $previousUrl = $_SERVER[‘HTTP_REFERER’];
    echo $previousUrl;
    “`

    2. 使用`$_SERVER[‘REQUEST_URI’]`变量获取上一个页面的URL。`REQUEST_URI`表示请求的URI,它包含了用户请求的完整URL。示例代码如下:

    “`php
    $previousUrl = $_SERVER[‘REQUEST_URI’];
    echo $previousUrl;
    “`

    需要注意的是,`$_SERVER[‘HTTP_REFERER’]`和`$_SERVER[‘REQUEST_URI’]`都是从HTTP头信息中获取的,而HTTP头信息可以被用户修改或不可靠,因此不能保证100%准确。

    3. 使用JavaScript通过`document.referrer`获取上一个页面的URL,然后将URL传递给PHP。示例代码如下:

    “`html

    “`

    在PHP脚本中,可以通过`$_GET`超全局变量获取传递过来的URL。示例代码如下:

    “`php
    $previousUrl = $_GET[‘previousUrl’];
    echo $previousUrl;
    “`

    4. 将上一个页面的URL作为参数传递到PHP脚本中。例如,在上一个页面中设置一个隐藏表单字段或URL参数,并将上一个页面的URL传递到当前页面。示例代码如下:

    在上一个页面的HTML中:

    “`html

    Submit

    “`

    在PHP脚本中:

    “`php
    $previousUrl = $_GET[‘previousUrl’];
    echo $previousUrl;
    “`

    5. 使用会话`session`来存储上一个页面的URL。在上一个页面中,将URL存储在会话变量中,并在当前页面中读取该会话变量。示例代码如下:

    在上一个页面的PHP脚本中:

    “`php
    session_start();
    $_SESSION[‘previousUrl’] = $_SERVER[‘REQUEST_URI’];
    “`

    在当前页面的PHP脚本中:

    “`php
    session_start();
    $previousUrl = $_SESSION[‘previousUrl’];
    echo $previousUrl;
    “`

    需要注意的是,使用会话存储上一个页面的URL需要在两个页面中启用会话。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要获取上一个页面的URL,可以使用`$_SERVER[‘HTTP_REFERER’]`变量来获取。`$_SERVER`是一个包含了服务器相关信息的PHP的超全局变量,`$_SERVER[‘HTTP_REFERER’]`则是一个包含了引导用户代理到当前页面的来源页面的URL的变量。

    下面是获取上一个页面URL的步骤:

    步骤 1:检查`$_SERVER[‘HTTP_REFERER’]`是否存在
    在使用`$_SERVER[‘HTTP_REFERER’]`之前,首先要检查它是否存在。因为它是一个可选的服务器变量,只有当请求是从另一个页面链接过来的时候,他才会存在。

    “`php
    if(isset($_SERVER[‘HTTP_REFERER’])){
    // 执行代码
    }
    “`

    步骤 2:获取上一个页面的URL
    如果`$_SERVER[‘HTTP_REFERER’]`存在,你可以通过`$_SERVER[‘HTTP_REFERER’]`来获取上一个页面URL。

    “`php
    $previousPageUrl = $_SERVER[‘HTTP_REFERER’];
    “`

    步骤 3:处理获取到的URL
    获取到上一个页面URL后,你可以根据需要对其进行处理,比如输出、保存到数据库等。

    下面是一个完整的示例代码:

    “`php
    if(isset($_SERVER[‘HTTP_REFERER’])){
    $previousPageUrl = $_SERVER[‘HTTP_REFERER’];
    // 处理获取到的URL
    echo $previousPageUrl;
    // 或者存储到数据库
    // $conn = mysqli_connect(“localhost”, “root”, “”, “db_name”);
    // $previousPageUrl = mysqli_real_escape_string($conn, $previousPageUrl);
    // mysqli_query($conn, “INSERT INTO urls (url) VALUES (‘$previousPageUrl’)”);
    } else {
    echo “没有上一个页面URL”;
    }
    “`

    注意,`$_SERVER[‘HTTP_REFERER’]`变量的值是用户代理(浏览器)提供的,所以不能100%依赖它的准确性和安全性。某些浏览器或插件可能会禁用它,或者伪造它的值。因此,在使用`$_SERVER[‘HTTP_REFERER’]`变量时应谨慎,并且不应该依赖于它来进行安全性验证或敏感操作。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部