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

 我来答
郗抒才蕴涵
2019-07-10 · TA获得超过3896个赞
知道大有可为答主
回答量:3046
采纳率:30%
帮助的人:206万
展开全部
PHP登陆后跳转到登陆前页面,利用$_SERVER全局变量可以实现这个功能,下面有个不错的示例,希望对大家有所帮助
最近手上一个小项目让我接触到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">";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式