PHP登陆后跳转到登陆前页面实现思路及代码

2015-01-24信息快讯网

PHP登陆后跳转到登陆前页面,利用$_SERVER全局变量可以实现这个功能,下面有个不错的示例,希望对大家有所帮助

最近手上一个小项目让我接触到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\">"; 
改写ThinkPHP的U方法使其路由下分页正常
PHP反射使用实例和PHP反射API的中文说明
用PHP解决的一个栈的面试题
PHP中遇到BOM、<feff>编码导致json_decode函数无法解析问题
php foreach正序倒序输出示例代码
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
ThinkPHP页面跳转success与error方法概述
Zend Framework页面缓存实例
destoon整合ucenter后注册页面不跳转的解决方法
ThinkPHP访问不存在的模块跳转到404页面的方法
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Codeigniter实现处理用户登录验证后的URL跳转
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
php中session退出登陆问题
一个PHP二维数组排序的函数分享
修改apache配置文件去除thinkphp url中的index.php
php使用curl访问https示例分享
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
php 检查电子邮件函数(自写)
php mail to 配置详解
PHP 动态生成静态HTML页面示例代码
PHP限制页面只能在微信自带浏览器访问的代码
PHP 登录完成后如何跳转上一访问页面
php环境下利用session防止页面重复刷新的具体实现
php获取301跳转URL简单实例
Server.HTMLEncode让代码在页面里显示为源代码
php编写的简单页面跳转功能实现代码
php用header函数实现301跳转代码实例
php登陆页的密码处理方式分享
PHP利用REFERER根居访问来地址进行页面跳转
使用PHP会话(Session)实现用户登陆功能
解析如何修改phpmyadmin中的默认登陆超时时间
©2014-2024 dbsqp.com