视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
php怎样实现跳转到原来或之前的页面
2024-12-15 18:20:57 责编:小OO
文档


登录后自动返回到用户登录前的页面,这在实际应用中非常常见。比如,用户从index.php页面通过登录链接跳转到login.php,登录成功后提交数据到check.php文件,检查数据是否正确。如果数据正确,则使用header('location: url')指令跳转到指定的页面。这种方法虽简单直接,但也存在一定的局限性,因为它需要人工指定返回的路径,不够自动,操作起来不够方便。

使用$_SERVER['HTTP_REFERER']变量来获取前一个页面,这并不是一个理想的选择。例如,在上述示例中,当登录成功后,如果使用$_SERVER['HTTP_REFERER']从check.php跳转,check.php可能会跳转到login.php,而不是用户实际登录前的index.php页面。因此,这种方法存在较大风险。

为了解决这个问题,可以将url保存到cookie中。具体操作是在index.php页面上调用setcookie('url','index.php'),并在提交数据后,通过$_COOKIE['url']随时获取登录前的页面。然而,这种方法也有缺点,如果网站上有100个页面都包含登录链接,那么就需要在这100个页面上都修改cookie的url设置。更好的方法是在login.php中检查前一个页面,然后设置cookie。这样,就不是让100个页面都去修改cookie,而是将这个任务交给login.php处理。

这种方式不仅更加自动化,还可以避免因$_SERVER['HTTP_REFERER']可能导致的错误。通过在login.php中设置cookie,可以确保用户总是被重定向回登录前的页面,而不是前一个页面。这种方法可以提高用户体验,并减少错误的发生。

下载本文
显示全文
专题