2016-04-24 11 views
0

私のフレームワークはcodeigniterです。CodeIgniterでparamentを送信してリダイレクトする方法

私はこれやりたい:ユーザーがそれを見るための十分な権限を持っていると私は、現在のurlloginにページによっておよびlogin後にユーザーをリダイレクトしたい、私はリダイレクトされませんurlにログインして、クリックされていない場合 をユーザーを前のurlに変更してください。例えば

//user is not login and click on below `url`. I want to keep `profile` address 
//and redirect to `enter` page with `profile` address. 
www.example.com/profile 

//after login, user will redirect to previous url (www.example.com/profile). 

私のコード:

function userNotLogin(){ 

     $cu = current_url(); 
     $cu = urlencode($cu); 
     redirect(base_url().'index/enter/'.$cu); 
} 

//ログインページ

function enter($before_url) 
    { 
     if($this->isLogged()) 
     { 

      if($before_url) 
      { 
       var_dump($before_url); 
       return; 

      }else{ 
       redirect(base_url()); 
      } 

     }else{ 
      $data = array(); 
      $this->view('page_register_login' , $data); 
     } 

    } 

しかしvar_dump($before_url);戻りstring(5) "http:"

+1

は、代わりに 'current_url()'あなたが記憶してもよいが格納'controller/method'をセッションに入れてから、' redirect($ before_url) 'を使用してください。新しいページを使用しているか、ブートストラップモードを使用しているログインビューには –

+0

? –

答えて

0

の場合、user_agent CodeIgniterのライブラリを使用する必要があります。そのような

-

$this->load->library('user_agent'); 
redirect($this->agent->referrer()); 

それは100%に動作しますが、これを使用してください...

Exmaple -

public function login() 
    { 
     $this->load->library('user_agent'); 
     $username = $this->input->post('username'); 
     $password = $this->input->post('password'); 
     $arr = array(
      'username' => $username, 
      'password' => md5($password), 
      'user_type' => 'admin' 
      ); 
     $result = $this->common_model->getMultiple('panel_login',$arr); 
     if(!empty($result)){ 
      $this->session->set_userdata('unique_id',$result[0]['s_no']); 
      $this->session->set_userdata('username',$result[0]['username']); 
      $this->session->set_userdata('password',$result[0]['password']); 
      $this->session->set_userdata('type',$result[0]['user_type']); 
      $this->session->set_userdata('status',$result[0]['status']); 
      $this->session->set_userdata('user_activity',time()); 
      redirect($this->agent->referrer()); 
     }else{ 
      redirect('login_view'); 
     } 

    } 
関連する問題