ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルでログイン後に元のページに戻る例

php_PHP チュートリアルでログイン後に元のページに戻る例

WBOY
WBOYオリジナル
2016-07-13 16:57:061373ブラウズ

多くの Web サイトでは、ユーザーは最初にログインするためにページにアクセスしますが、ログインが完了するのを待った後、必ず最後にアクセスしたページに戻りたがります。ログイン後に元のページに戻る方法を説明します。アクセスしたページのインスタンス

最も簡単な方法は、php $_SERVER['HTTP_REFERER'] を直接使用することです


A.phpページにログインしたい場合


次に、B.php ページにジャンプします。必要なのは、次のコードを b.php に追加するだけです

コードは次のとおりです コードをコピー

$url = $_SERVER['HTTP_REFERER'];
header("location:$url");

ただし、上記の方法にはパラメータなどの欠点が多く、IEブラウザではjsの場所を飛び越えるとこの値を取得できません。

次は総合的なものを作ります。


まず、ログインしているかどうかを判断するメソッドを作成します (ログインしていない場合)

次に、質問するためにログインが必要なページでこのメソッドを呼び出します:
コードは次のとおりです コードをコピー

保護された関数 checkLogin() {
if (ログインしていない){ $thisurl = "http://".$_SERVER["HTTP_HOST"].$_SERVER['PHP_SELF'];//現在の URL
$thisurl = urlencode($thisurl);//ここで、取得した URL をトランスコードする必要があることに注意してください。そうしないと、後で URL を渡すことが困難になります
redirect("http://".$_SERVER["HTTP_HOST"]."/cityosweb/default.php/Index/login?url=".$thisurl); }
}

コードは次のとおりです$this->checkLogin();ログインしていない場合は、ログインページにジャンプします。そして、前のページの URL を持ってきてください:
コードをコピー

次に、ログインを送信するための URL を取得します:


コードは次のとおりですパブリック関数login() {
コードをコピー
$url = $_GET['url']; $this->assign('url',$url); $this->assign('title','Login'); $this->display('user/reg_new.html'); }





テンプレートからURLを取得し、PHPバックエンドに送信します。ログイン後、このURLにジャンプして完了です

http://www.bkjia.com/PHPjc/631554.htmlwww.bkjia.com

tru​​e

技術記事多くの Web サイトでは、ユーザーは最初にログインするためにページにアクセスしますが、その時点でログインが成功するのを待った後、必ず最後にアクセスしたページに戻りたいと考えます。私は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。