PHPログインが完了したら、前のアクセスページに移動する方法

1438 ワード

プロジェクト要件
ウェブサイトのページにアクセスする際、アクセスを許可する必要があるページがある場合、ユーザーにログインを要求し、ログインページloginにジャンプする.phpは、ログインをどのように実現してさっきアクセスしたページに戻りますか.
解決策1:
ログインページにジャンプする前に現在アクセスしているページのurlをクッキーに保存し、ログイン検証権限が通過した後、クッキーからこのurl値を取り出し、そのurlが指定したページにジャンプします.
具体的な実装
私の今のプログラムはThinkPHPフレームワークに基づいています.私たちは親コントローラを持っています.次に、この設定クッキーのコードをこのBaseActionに追加します.initialize()関数では、プログラムがワークロードを大幅に簡素化します.
$refer = 'http://' . $_SERVER ['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

Cookie::set('refer', $refer);

ログイン検出の関数には、次のものが含まれます.
$refer = Cookie::get('refer');

今この$referは私たちが前にアクセスしたページで、私たちはAJAXを通じてこのパラメータを返して、それからジャンプして、あるいは直接プログラムを使ってジャンプして、具体的にあなたのプログラムの需要によって.
 
解決策2:
 
クッキーとして保存されているほか、多くの大手サイトがGET形式で直接入手しているのを見たことがあると思いますが、Drupalの登録メカニズムはそうです.
この考え方は具体的にはこうです.
ログインページにジャンプする前に訪問者がアクセスするページのurlをパラメータとして渡し、ログイン検証後、アクセス権限を付与した後、そのurlが指定したページにジャンプします.
例えばログイン前のurlはopenphpである.html訪問者がアクセスする場合、アクセス権限がなく、ログインページのアドレスにジャンプするとloginになります.php?url=openphp.htmlは、登録時にGET方式でそのパラメータopenphpを取得することができる.html、ログイン検証に成功した後openphpにジャンプします.htmlというページでいいです.
大体私もこの2つの考えについて、もしあなたがもっと良い考えがあれば、本当に私に教えてほしいです.