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 分页类(模仿google)-面试题目解答
Sep 13 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
php多文件上传实现代码
Feb 20 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
php的PDO事务处理机制实例分析
Feb 16 PHP
PHP读取CSV大文件导入数据库的实例
Jul 24 PHP
PHP实现防盗链的方法分析
Jul 25 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
PHP中创建并处理图象
2006/10/09 PHP
PHP 已经成熟
2006/12/04 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
Python set集合类型操作总结
2014/11/07 Python
python的unittest测试类代码实例
2017/12/07 Python
python生成n个元素的全组合方法
2018/11/13 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
CSS3实现淘宝留白的方法
2020/06/05 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
你常见到的runtime exception
2016/09/05 面试题
幼儿园教师演讲稿
2014/05/06 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
《叶问2》观后感
2015/06/15 职场文书