私のプロジェクトのメッセージングシステムでは、ユーザーからメッセージを受け取ったときに、別のユーザーがメッセージを表示するためにメッセージを送信したことを示す電子メールアラートが表示されます ここをクリック (つまり、メッセージの URL) したがって、ユーザーがシステムにログインしていない場合彼はログインページにリダイレクトされ、ログイン後にリファラー URL に戻るはずです。コア フォルダーに basecontoller を作成し、CI_controller を拡張して認証コードを次のようにします。
function authenticate($type = 'user')
{
if($type == 'user')
{
if($this->user_id)
{
// user is logged in. check for permissions now
}
else
{
// user isnt logged in. store the referrer URL in a var.
if(isset($_SERVER['HTTP_REFERER']))
{
$redirect_to = str_replace(base_url(),'',$_SERVER['HTTP_REFERER']);
}
else
{
$redirect_to = $this->uri->uri_string();
}
redirect('user/login?redirect='.$redirect_to);
exit;
}
}
if($type == 'admin')
{
if($this->session->userdata('admin_id') && $this->session->userdata('user_type') ==5)
{
// Admin is logged in
}
else
{
redirect('admin/login');
exit;
}
}
}
リファラー URL は「http://example.com/project/pm/view_conversation?id=11」です。問題は、view_conversation までリファラー URL を取得していて、id 部分を取得できないことです。
なにか提案を ?
ありがとうございました。