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 相关文章推荐
推荐文章系统(一)
Oct 09 PHP
PHP伪静态页面函数附使用方法
Jun 20 PHP
php 函数中使用static的说明
Jun 01 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
Feb 14 PHP
php中使用base HTTP验证的方法
Apr 20 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
php批量删除超链接的实现方法
Oct 19 PHP
两种php实现图片上传的方法
Jan 22 PHP
Linux环境下php实现给网站截图的方法
May 03 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
详解php用static方法的原因
Sep 12 PHP
Yii框架操作cookie与session的方法实例详解
Sep 04 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
mysql 搜索之简单应用
2007/04/27 PHP
linux php mysql数据库备份实现代码
2009/03/10 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
理解Javascript图片预加载
2016/02/23 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
基于Python开发chrome插件的方法分析
2018/07/07 Python
Python之pymysql的使用小结
2019/07/01 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
党支部党的群众路线对照检查材料
2014/09/24 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
应届生简历自我评价
2015/03/11 职场文书
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers