PHP登陆后跳转到登陆前页面实现思路及代码

前端技术 2023/09/02 PHP
最近手上一个小项目让我接触到PHP编程,简单的登陆功能已经OK。可是在实际使用的时候发现一个问题:用户A发送一个链接给用户B,B打开时页面提示登陆,可是登陆成功后,却跳转到了首页,而并不是A发送的链接。为了有更好的用户体验,B登陆成功后应该自动跳转到登陆前的链接。查了PHP帮助手册,利用$_SERVER全局变量可以实现这个功能。

$_SERVER是PHP的一个超全局变量,关于$_SERVER变量的详细解释可以参考:http://www.php.net/manual/zh/reserved.variables.server.php

具体实现方法为:在提示用户登录的同时,在session或者cookie中记录下请求页面的URL;登录验证成功后在跳转回该URL。
checklogin.php
复制代码 代码如下:

session_start();

if (!isset ($_SESSION[\'login_ok\']))
{
echo \"<script language=javascript>alert (\'要访问的页面需要先登录。\');</script>\";
$_SESSION[\'userurl\'] = $_SERVER[\'REQUEST_URI\'];
echo \'<script language=javascript>window.location.href=\"login.php\"</script>\';
}

login.php
复制代码 代码如下:

session_start();

//此处省略了账号密码验证代码,验证OK再执行下面代码

if (isset ($_SESSION[\'userurl\']))
{
//会话中有要跳转的页面
$url = $_SESSION[\'userurl\'];
}
else
{
//没有要跳转的页面,则转到首页
$url = \"home.php\";
}

//0.5s后跳转
echo \"<meta http-equiv=\\\"refresh\\\" content=\\\"0.5;url=$url\\\">\";

本文地址:https://www.stayed.cn/item/5803

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。