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