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面向对象全攻略 (八)重载新的方法
Sep 30 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
php微信公众平台开发类实例
Apr 01 PHP
PHP使用缓存即时输出内容(output buffering)的方法
Aug 03 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
php字符集转换
Jan 23 PHP
基于php编程规范(详解)
Aug 17 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
php给数组赋值的实例方法
Sep 26 PHP
Laravel 读取 config 下的数据方法
Oct 13 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 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 radio 单选框获取与保持值的实现代码
2010/05/15 PHP
php生成N个不重复的随机数实例
2013/11/12 PHP
smarty简单入门实例
2014/11/28 PHP
关于PHP定时发送服务的解决办法
2017/04/23 PHP
php使用yield对性能提升的测试实例分析
2019/09/19 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
javascript数组的使用
2013/03/28 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
微信小程序实现加入购物车滑动轨迹
2020/11/18 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
Python实现全角半角转换的方法
2014/08/18 Python
Python中每次处理一个字符的5种方法
2015/05/21 Python
利用python批量检查网站的可用性
2016/09/09 Python
python pandas库的安装和创建
2019/01/10 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Python字符串及文本模式方法详解
2020/09/10 Python
介绍一下except的用法和作用
2015/01/22 面试题
应届生财务管理求职信
2013/11/06 职场文书
早餐连锁店计划书
2014/01/08 职场文书
《散步》教学反思
2014/03/02 职场文书
买房委托公证书
2014/04/08 职场文书
妇女工作先进事迹
2014/08/17 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
体育活动总结
2015/02/04 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
Android Studio 计算器开发
2022/05/20 Java/Android