php怎么获取上一页

不及物动词 其他 123

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    获取上一页的方法有多种,下面给出几种常用的方法。

    一、使用HTTP_REFERER获取上一页URL
    可以通过PHP中的$_SERVER[‘HTTP_REFERER’]全局变量来获取上一页的URL。具体代码如下:
    “`
    $previous_page = $_SERVER[‘HTTP_REFERER’];
    “`
    需要注意的是,$_SERVER[‘HTTP_REFERER’]是由客户端发送请求时设置的,因此可能会被篡改或者为空。

    二、使用SESSION获取上一页URL
    可以将当前页的URL保存在SESSION中,然后在下一页中读取。具体代码如下:
    当前页:
    “`
    session_start();
    $_SESSION[‘previous_page’] = $_SERVER[‘PHP_SELF’];
    “`
    下一页:
    “`
    session_start();
    $previous_page = $_SESSION[‘previous_page’];
    “`
    使用SESSION需要确保在使用之前先开启session_start()函数。

    三、使用COOKIES获取上一页URL
    可以将当前页的URL保存在COOKIES中,然后在下一页中读取。具体代码如下:
    当前页:
    “`
    setcookie(‘previous_page’, $_SERVER[‘PHP_SELF’], time()+3600);
    “`
    下一页:
    “`
    if(isset($_COOKIE[‘previous_page’])){
    $previous_page = $_COOKIE[‘previous_page’];
    }
    “`
    需要注意的是,使用COOKIES需要在header之前设置。

    以上是几种获取上一页URL的方法,你可以根据具体的需求选择合适的方法来实现。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在编写PHP代码时,可以通过$_SERVER[‘HTTP_REFERER’]来获取上一页的URL。以下是获取上一页的几种方式:

    1. 使用$_SERVER[‘HTTP_REFERER’]:
    $_SERVER[‘HTTP_REFERER’]是一个全局变量,可以获取到上一页的URL。例如:
    “`php
    $previousPage = $_SERVER[‘HTTP_REFERER’];
    echo “上一页的URL为:” . $previousPage;
    “`

    2. 使用$_SERVER[‘HTTP_REFERER’]和header()函数:
    可以使用header()函数将上一页的URL重定向到当前页面,并将上一页的URL保存在$_SERVER[‘HTTP_REFERER’]。
    “`php
    if(isset($_SERVER[‘HTTP_REFERER’])){
    $previousPage = $_SERVER[‘HTTP_REFERER’];
    }else{
    $previousPage = ‘无法获取上一页URL’;
    }

    header(‘Location: ‘.$previousPage);
    “`

    3. 使用$_SESSION变量:
    可以将上一页的URL存储在$_SESSION变量中,并在需要的地方获取它。
    “`php
    session_start();
    if(isset($_SESSION[‘previousPage’])){
    $previousPage = $_SESSION[‘previousPage’];
    }else{
    $previousPage = ‘无法获取上一页URL’;
    }

    $_SESSION[‘previousPage’] = $_SERVER[‘REQUEST_URI’];
    “`

    4. 使用Javascript获取:
    如果PHP代码无法获取到上一页的URL,可以考虑使用Javascript的document.referrer来获取上一页的URL,并将其传递给PHP。
    “`javascript

    “`

    5. 使用数据库记录:
    在每次访问页面时,可以将当前页面的URL插入到数据库中,再通过查询数据库获取上一页的URL。这需要在每个页面都插入相应的代码,比较麻烦,但是可以获取到准确的上一页URL。
    “`php
    // 在数据库中插入当前页面的URL
    $previousPageQuery = “SELECT page_url FROM page_table ORDER BY id DESC LIMIT 1,1”;
    $previousPageResult = mysqli_query($conn, $previousPageQuery);
    $previousPageData = mysqli_fetch_assoc($previousPageResult);
    $previousPage = $previousPageData[‘page_url’];
    “`

    以上是获取上一页的几种方式,可以根据具体需求选择适合的方法。

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

    在PHP中,要获取上一页可以使用$_SERVER[‘HTTP_REFERER’]变量来获取来自哪个URL。但是需要注意的是,$_SERVER[‘HTTP_REFERER’]并不是一种可靠的方式,因为它依赖于用户浏览器发送的请求头信息。有些浏览器或者防火墙可能会屏蔽或者篡改这个头信息,导致获取不到正确的上一页URL。

    为了解决这个问题,可以使用Session来记录用户的访问历史。以下是获取上一页的方法和具体操作流程:

    方法一:使用$_SERVER[‘HTTP_REFERER’]

    1. PHP通过$_SERVER数组来存储一些与服务器相关的环境变量,其中$_SERVER[‘HTTP_REFERER’]就是用来获取上一页的URL。
    2. 在PHP中,可以使用以下代码来获取上一页的URL:

    “`php
    $previousPage = isset($_SERVER[‘HTTP_REFERER’]) ? $_SERVER[‘HTTP_REFERER’] : ”;
    “`

    3. 变量$previousPage中存储的就是上一页的URL,可以根据需要进行处理。

    方法二:使用Session记录访问历史

    1. 首先,在PHP脚本的开头使用session_start()函数来开启Session。例如:

    “`php
    session_start();
    “`

    2. 在每个页面的访问记录中,将当前页面的URL保存到$_SESSION数组中。例如:

    “`php
    $_SESSION[‘previousPage’] = $_SERVER[‘REQUEST_URI’];
    “`

    3. 然后,通过$_SESSION[‘previousPage’]来获取上一页的URL。例如:

    “`php
    $previousPage = isset($_SESSION[‘previousPage’]) ? $_SESSION[‘previousPage’] : ”;
    “`

    4. 变量$previousPage中存储的就是上一页的URL,可以根据需要进行处理。

    需要注意的是,使用Session记录访问历史的方式需要确保session_start()函数在每个页面的开头都被调用,而且在使用$_SESSION[‘previousPage’]之前需要确保$_SESSION数组已经被初始化。

    综上所述,以上是获取上一页的两种方法和操作流程。具体选用哪种方式取决于项目的实际需求和安全性要求。

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

400-800-1024

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

分享本页
返回顶部