2012-11-26 51 views
0

我使用笨,我有設置了路線如下:笨防止控制器/方法的顯示在URL

$route["(:num)"] ="login/login_by_id/$1"; 

這基本上意味着,當URL看起來像這樣:

http://mydomain.com/12345 

這將有效地將值12345傳遞給login控制器的login_by_id方法。當我直接輸入網址時,一切正常。當我嘗試加載視圖時,遇到問題。這些都是調用視圖行:

$data['content'] = 'login_view'; 
$data['title'] = 'Login'; 
$data['error_msg'] = 'Invalid password. Please try again.'; 
$this->load->view('login_template', $data); 

我的問題是不是所述用戶返回到這裏:

http://mydomain.com/12345 

瀏覽器將用戶定向到這個網址:

http://mydomain.com/login/login_by_id 

如何更改代碼,以便將我的用戶返回到以前的相同URL?我不想在URL地址中顯示控制器/方法。

謝謝。

+0

當您輸入錯誤的密碼時,您想要將用戶重定向到登錄表單。我對嗎。 –

+0

是的,那正是我想要做的。 – DanielAttard

+0

檢查我完全基於codeIgniter表單類的答案。 –

回答

0

在控制器中的功能(您打開提交按鈕後調用的功能)。

public function post_login() 

    { 

     $error_in_validation=set_form_validation($this->config->item('login_form')); 

     if($error_in_validation){ 
      show_form_validation_error('controller_name/login'); 
     } 
     else 
     { 
      $email=$this->input->post('email'); 
      $passwd=$this->input->post('passwd'); 
      $ret=$this->admin_model->user_login($email, $passwd); 

      if($ret == NULL){ 

       $model=array(); 
       $model['error_msg']=$this->config->item('login_form_error_code_1');; 
       $this->load->view('login',$model);    
      } 
      else{ 
       redirect("home"); 
      } 

     } 

    } 
+0

嘿daniel upvote如果答案對你有用 –