分享php登入頁面跳轉的實現思路

2020-07-16 10:06:21

php登入頁面跳轉的實現方法:首先在提示使用者登入的同時,在session或者cookie中記錄下請求頁面的URL;然後在登入驗證成功後,跳轉回該URL即可。

PHP使用者登入後跳轉回上一存取頁面的實現思路及程式碼

專案需求

存取網站頁面時,有的頁面需要授權才能存取,這時候就會要求使用者登入,跳轉到登入頁面login.php,怎麼實現登入後返回到剛才存取的頁面。

解決思路1:

在跳轉到登入頁面之前要將當前存取頁面的url儲存到cookie裡面,登入驗證授權通過後,從cookie中取出這個url值,跳轉到該url指定的頁面。

具體實現方法:

在提示使用者登入的同時,在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">";

解決思路2:

除了存成cookie的形式,相信大家也看到了很多大型網站直接採用GET的形式獲得,DZ的登陸機制就是這樣。

這種思路具體是這樣的:

在跳轉到登入頁面前要將訪客存取的頁面的url作為引數傳遞過去,登入驗證後,授予存取許可權之後跳轉到該url指定的頁面。

比如登入前的url為:http://www.xxx.com/member/authpage.html 當訪客存取時,點選無許可權,跳轉到登入頁面的地址就為login.php?redirect_url=http://www.xxx.com/member/authpage.html,這樣在登入時就可以用GET方式獲取該引數 http://www.xxx.com/member/authpage.html,登入驗證成功後跳轉到authpage.html 這個頁面就可以了。

很多相關知識,請存取PHP中文網

以上就是分享php登入頁面跳轉的實現思路的詳細內容,更多請關注TW511.COM其它相關文章!