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

yipeiwu_com5年前PHP代码库
最近手上一个小项目让我接触到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中header用法小结

本文实例总结了PHP中header用法。分享给大家供大家参考,具体如下: PHP 中 header()函数的作用是给客户端发送头信息。 什么是头信息? 这里只作简单解释,详细的自己看ht...

PHP利用一行代码删除目录下所有文件方法示例

前言 想必很多人都会写几行甚至几十行代码使其列出所有文件变为数组进行删除,但是glob函数分分钟解决问题!下面来一起看看详细的介绍吧。 glob语法说明: array glob (...

PHP 操作文件的一些FAQ总结

问:如何新建一个文件? 答:1、使用fopen("要建立的文件名","参数"),参数可选 w,w+,a,a+ 2、使用exec("echo '' > 要建立的文件名");这样是使用...

PHP Zip解压 文件在线解压缩的函数代码

复制代码 代码如下: /********************** *@file - path to zip file *@destination - destination dire...

php数据库密码的找回的步骤

1.用系统管理员登陆系统。 2.停止MySQL的服务。 3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:mysql,进入C:mysqlbin 4.跳过权限检查启动M...