PHP登陸后跳轉(zhuǎn)到登陸前頁面實現(xiàn)思路及代碼
更新時間:2014年01月17日 15:39:59 作者:
PHP登陸后跳轉(zhuǎn)到登陸前頁面,利用$_SERVER全局變量可以實現(xiàn)這個功能,下面有個不錯的示例,希望對大家有所幫助
最近手上一個小項目讓我接觸到PHP編程,簡單的登陸功能已經(jīng)OK。可是在實際使用的時候發(fā)現(xiàn)一個問題:用戶A發(fā)送一個鏈接給用戶B,B打開時頁面提示登陸,可是登陸成功后,卻跳轉(zhuǎn)到了首頁,而并不是A發(fā)送的鏈接。為了有更好的用戶體驗,B登陸成功后應(yīng)該自動跳轉(zhuǎn)到登陸前的鏈接。查了PHP幫助手冊,利用$_SERVER全局變量可以實現(xiàn)這個功能。
$_SERVER是PHP的一個超全局變量,關(guān)于$_SERVER變量的詳細解釋可以參考:http://www.php.net/manual/zh/reserved.variables.server.php
具體實現(xiàn)方法為:在提示用戶登錄的同時,在session或者cookie中記錄下請求頁面的URL;登錄驗證成功后在跳轉(zhuǎn)回該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再執(zhí)行下面代碼
if (isset ($_SESSION['userurl']))
{
//會話中有要跳轉(zhuǎn)的頁面
$url = $_SESSION['userurl'];
}
else
{
//沒有要跳轉(zhuǎn)的頁面,則轉(zhuǎn)到首頁
$url = "home.php";
}
//0.5s后跳轉(zhuǎn)
echo "<meta http-equiv=\"refresh\" content=\"0.5;url=$url\">";
$_SERVER是PHP的一個超全局變量,關(guān)于$_SERVER變量的詳細解釋可以參考:http://www.php.net/manual/zh/reserved.variables.server.php
具體實現(xiàn)方法為:在提示用戶登錄的同時,在session或者cookie中記錄下請求頁面的URL;登錄驗證成功后在跳轉(zhuǎn)回該URL。
checklogin.php
復(fù)制代碼 代碼如下:
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
復(fù)制代碼 代碼如下:
session_start();
//此處省略了賬號密碼驗證代碼,驗證OK再執(zhí)行下面代碼
if (isset ($_SESSION['userurl']))
{
//會話中有要跳轉(zhuǎn)的頁面
$url = $_SESSION['userurl'];
}
else
{
//沒有要跳轉(zhuǎn)的頁面,則轉(zhuǎn)到首頁
$url = "home.php";
}
//0.5s后跳轉(zhuǎn)
echo "<meta http-equiv=\"refresh\" content=\"0.5;url=$url\">";
相關(guān)文章
PHP寫的求多項式導(dǎo)數(shù)的函數(shù)代碼
PHP寫的求多項式導(dǎo)數(shù)的函數(shù)代碼,需要的朋友可以參考下2012-07-07遞歸實現(xiàn)php數(shù)組轉(zhuǎn)xml的代碼分享
本文以實例形式講述了PHP實現(xiàn)數(shù)組遞歸轉(zhuǎn)義的方法,分享給大家供大家參考之用。具體方法如下:2015-05-05PHP遞歸寫入MySQL實現(xiàn)無限級分類數(shù)據(jù)操作示例
這篇文章主要介紹了PHP遞歸寫入MySQL實現(xiàn)無限級分類數(shù)據(jù)操作,涉及mysql數(shù)據(jù)庫的創(chuàng)建以及php遞歸寫入、讀取數(shù)據(jù)庫分類相關(guān)操作技巧,需要的朋友可以參考下2018-07-07PHP 利用Mail_MimeDecode類提取郵件信息示例
重點為one_mail函數(shù)。利用Mail_mimeDecode類從郵件中提取郵件頭和郵件正文,具體實現(xiàn)如下2014-01-01