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 07 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
Jul 01 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
Jun 05 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
php常用Stream函数集介绍
Jun 24 PHP
ThinkPHP中U方法的使用浅析
Jun 13 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 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
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
PHP similar_text 字符串的相似性比较函数
2010/05/26 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
javascript前端实现多视频上传
2020/12/13 Javascript
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
Python最长公共子串算法实例
2015/03/07 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
CSS3等相关属性制作分页导航实现代码
2012/12/24 HTML / CSS
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
python re模块和正则表达式
2021/03/24 Python
办公室内勤岗位职责范本
2013/12/09 职场文书
优秀教师获奖感言
2014/01/31 职场文书
校园广播稿100字
2014/10/06 职场文书
法制教育观后感
2015/06/17 职场文书
PHP遍历数组的6种方式总结
2021/11/17 PHP
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫
Java 定时任务技术趋势简介
2022/05/04 Java/Android