PHP 登入完成後如何跳轉上一訪問頁面

2022-10-06 12:39:15 字數 1001 閱讀 2078

專案需求

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

解決思路1:

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

具體實現

我現在的程式是基於thinkphp框架的,我們會有乙個父類控制器,下面我就把這個設定cookie的**加到這個baseaction裡面的_initialize()函式中,這樣程式就大大簡化工作量了。

複製** **如下:

cookie::set('refer程式設計客棧', $refer);

登入檢測的函式裡面我們加入:

複製** **如下:

$refer = cookie::get('refer');

現在這個$refer就是我們之前訪問的頁面,我們可以通過ajax返回這個引數,然後進行跳轉,或者直接使用程式進行跳轉,具體要根據你程式的需求了。

解決思路2:

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

這種思路具體是這樣的:

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

比如登入前的url為:openphp.html 當訪客訪問時,點選無許可權,跳轉到登入頁面的位址就為login.php?url=openphp.html,這樣在登入時就可以用get方式獲取該引數 openphp.html,登入驗證成功後跳轉到openphp.html 這個頁面就可以了。

大致上我也就這兩種思路了,如果你有更好的思路,真心希望你可以告訴我。

本文位址: /wangluo/php/103969.html

php安裝完成後如何新增mysql擴充套件

php安裝完成後新增mysql擴充套件基本步驟如下 1 進入php源 目錄 1 cd usr php 5.3.1 2 再進入要新增的mysql擴充套件原始碼目錄 1 2 cd ext mysql yum install autoconf centos5.4需安裝 3 呼叫已經編譯好的php可執行程式...

mysql初次安裝完成後的登入操作

mysql初次安裝完成後的登入操作 1.停止mysql資料庫 etc init.d mysqld stop 2.執行如下命令 mysqld safe user mysql skip grant tables skip networking 3.使用root登入mysql資料庫 mysql u roo...

dedecms安裝完成後登入後台出現空白

今天家裡的電腦上新裝dede5.7後台 登陸後竟然一片空白 經過分析 發現登入 驗證的時候用到了這個函式session register 我的環境 win7 php5.4.3 apache2.2.22 mysql5.5.24 原來我的php版本是5.4.x版本的 經過一系列的搜尋,發現這個函式在ph...