当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2020-08-27 22:17:01 浏览: 评论:0 

最近手上一个小项目让我接触到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 代码如下:

  1. session_start();  
  2.  
  3. if (!isset ($_SESSION['login_ok']))  
  4. {  
  5. echo "<script language=javascript>alert ('要访问的页面需要先登录。');</script>";  
  6. $_SESSION['userurl'] = $_SERVER['REQUEST_URI'];  
  7. echo '<script language=javascript>window.location.href="login.php"</script>';  
  8. }  

login.php 代码如下:

session_start(); 
 
//此处省略了账号密码验证代码,验证OK再执行下面代码:
  1. if (isset ($_SESSION['userurl']))  
  2. {  
  3. //会话中有要跳转的页面  
  4. $url = $_SESSION['userurl'];  
  5. //phpfensi.com 
  6. else  
  7. {  
  8. //没有要跳转的页面,则转到首页  
  9. $url = "home.php";  
  10. }  
  11.  
  12. //0.5s后跳转  
  13. echo "<meta http-equiv=\"refresh\" content=\"0.5;url=$url\">";  

Tags: PHP登陆后跳转

分享到: