アプリ版:「スタンプのみでお礼する」機能のリリースについて

ログインが必要なページのどこかにアクセスする際、
ログイン状態でなければ、ログイン画面を表示して、
その後本来アクセスしたかったページへ自動でジャンプ
するような仕組みを作りたいのですが、これはどうやれば
良いでしょうか?
(できればYahoo!のような感じにしたいですが、
PHPだけで実現できる範囲だと助かります)

A 回答 (2件)

ログインが必要なページの頭でログインをチェックして(セッションを使うと楽)、ログイン状態でなければログインページにリダイレクトします。

この時に、本来の飛び先をGETで渡してあげて、ログイン認証後に再びそこにリダイレクトすればOKです。

if(!$_SESSION["login_flag"]){
header("Location: http://~/login.php?url=[飛び先URL(urlencodeしてね)]");
}

こんな感じでチェックしてログインページではinput type=hiddenでurlを渡して、次の画面で認証成功したらurlにリダイレクトする、という感じです。

この回答への補足

すいません、よく考えたらスラッシュなどが入りますね。(ボケてしまいました)

補足日時:2005/06/08 18:36
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。
urlencodeというのを、今はじめて知って、さっと
調べてみましたが、これはいつもエンコードした方が
良いのでしょうか?
(URLには、半角英数しか入れない予定ですが…)

お礼日時:2005/06/08 11:34

 方法としては、次の通りになるだろうな。



1.全ての(ログインが必要な)ページで、ログインされていなければlogin.phpにジャンプする。その際、ログイン後のページをセッションなどに持たせる。
2.login.phpは、ログイン動作を行う。読み込まれた時に既にログインされていれば、セッションなどに持たせたとび先(存在しなければトップかな)にジャンプする。

 ジャンプの方法だが、Location HTTPレスポンスヘッダを使うなど、さまざまな方法がありそれぞれ一長一短あるので、これは設計思想によるだろう。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。
参考になりました。

お礼日時:2005/06/08 11:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!