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

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\">"; 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章