1

私のサイトでは、セッションが期限切れになったり、ログアウトしたりした場合、メンバーエリアにアクセスするには、再度ログインする必要があります。今、例えば、彼らがこのようなことをしたいのなら

http://example.com/site/approve_friend_request/RaNdOmCoDe

たとえば、メンバーエリア内でのみ、友達リクエストの承認を完了することができます。ただし、ログインしていない場合は、(たとえば)にリダイレクトされます。

http://example.com/login_form

要求されたURLを保存し、ログインに成功したらそこに誘導するためのアイデアを知りたいのですが、いくつかのアイデアはありますが、最善のアプローチはわかりません。理想的には、それが良いアプローチでない限り、URLに情報を保存したくないでしょう:

http://example.com/login_form/redirect_after_loggin/approve_friend_request/RaNdOmCoDe

前もって感謝します。

4

2 に答える 2

1

みんな、助けてくれてありがとう。私にはいくつかのオプションがあり、最も簡単なのは次のようです。

$this->session->set_userdata(array('last_url' => current_url()));

ログインしていなくても保存され、ログイン後も残ります。リダイレクトしたら、を使用して削除しました

$this->session->unset_userdata('last_url');
于 2012-08-30T20:30:47.380 に答える
0

それが良いアプローチであるかどうかにかかわらず、私はあなたにFacebookがそれをする方法をあなたに与えるでしょう、私はそれをあなたに任せます。

ログイン後にユーザーをhttp://www.google.comにリダイレクトするとします。

$redirect_url = json_encode('http://www.google.com');
header( 'Location: http://site.com/login_form?redirect_url=' . $redirect_url );

URLパラメータredirect_urlがページからページに渡されることを確認します。ユーザーがログインした後、redirect_urlが設定されているかどうかを確認します。

$redirect_url = json_decode($_GET['redirect_url']);
header('Location: $redirect_url');
于 2012-08-30T19:20:23.300 に答える