首頁 >後端開發 >PHP問題 >php怎麼實現登陸後跳轉網頁

php怎麼實現登陸後跳轉網頁

藏色散人
藏色散人原創
2021-07-23 09:04:568829瀏覽

php實現登入後跳到網頁的方法:1、將目前造訪頁面的url儲存到cookie裡,然後從cookie中取出這個url值,跳到該url指定的頁面;2、將訪客造訪的頁面的url作為參數傳遞過去,並在授予存取權限後跳到該url指定的頁面即可。

php怎麼實現登陸後跳轉網頁

本文操作環境:windows7系統、PHP7.1版,DELL G3電腦

php怎麼實現登陸後跳轉網頁?

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 (&#39;要访问的页面需要先登录。&#39;);</script>";
$_SESSION[&#39;userurl&#39;] = $_SERVER[&#39;REQUEST_URI&#39;];
echo &#39;<script language=javascript>window.location.href="login.php"</script>&#39;;
}
login.php
代码如下:
session_start();
//此处省略了账号密码验证代码,验证OK再执行下面代码
if (isset ($_SESSION[&#39;userurl&#39;]))
{
//会话中有要跳转的页面
$url = $_SESSION[&#39;userurl&#39;];
}
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怎麼實現登陸後跳轉網頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn