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 相关文章推荐
在apache下限制每个虚拟主机的并发数!!!!
Oct 09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
PHP通用分页类page.php[仿google分页]
Aug 31 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
php采用ajax数据提交post与post常见方法总结
Nov 10 PHP
php文件上传后端处理小技巧
May 22 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
Laravel 数据库加密及数据库表前缀配置方法
Oct 10 PHP
tp5框架基于ajax实现异步删除图片的方法示例
Feb 10 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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
5.PHP的其他功能
2006/10/09 PHP
PHP安全配置
2006/10/09 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
2020/01/02 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
销售自荐信
2013/10/22 职场文书
三好学生自我鉴定
2013/12/17 职场文书
大学生创业计划书的用途
2014/01/08 职场文书
英语生日邀请函
2014/01/23 职场文书
考试没考好检讨书
2014/01/31 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
毕业生对母校寄语
2015/02/26 职场文书
团组织推荐意见
2015/06/05 职场文书
工程主管竞聘书
2015/09/15 职场文书
Python 视频画质增强
2022/04/28 Python