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


Posted in PHP onJanuary 17, 2014

最近手上一个小项目让我接触到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\">";
PHP 相关文章推荐
php遍历目录viewDir函数
Dec 15 PHP
discuz程序的PHP加密函数原理分析
Aug 05 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
ThinkPHP CURD方法之where方法详解
Jun 18 PHP
php获取访问者IP地址汇总
Apr 24 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
php cookie 详解使用实例
Nov 03 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
php curl优化下载微信头像的方法总结
Sep 07 PHP
php的优点总结 php有哪些优点
Jul 19 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 #PHP
php使用curl访问https示例分享
Jan 17 #PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 #PHP
php 检查电子邮件函数(自写)
Jan 16 #PHP
php mail to 配置详解
Jan 16 #PHP
php生成txt文件标题及内容的方法
Jan 16 #PHP
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 #PHP
You might like
php操作excel文件 基于phpexcel
2010/07/02 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
浅谈mint-ui 填坑之路
2017/11/06 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
antd Upload 文件上传的示例代码
2018/12/14 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
[02:40]2018年度DOTA2最佳新人-完美盛典
2018/12/16 DOTA
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Python实现的ini文件操作类分享
2014/11/20 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
Random 在 Python 中的使用方法
2018/08/09 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
Overload和Override的区别
2012/09/02 面试题
公司领导推荐信
2013/11/12 职场文书
工业设计专业个人求职信范文
2013/12/28 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
法制工作总结2015
2015/07/23 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL