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\">";


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值