程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP登陸後跳轉到登陸前頁面實現思路及代碼

PHP登陸後跳轉到登陸前頁面實現思路及代碼

編輯: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\">";
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved