0

私はCodeIgniterを使用しており、次のようにルートを設定しています。

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

これは基本的に、URLが次のようになっていることを意味します。

http://mydomain.com/12345

これにより、値12345がコントローラーのlogin_by_idメソッドに効果的に渡されます。loginURLを直接入力すると、すべて正常に機能します。問題が発生しているのは、ビューを読み込もうとしたときです。ビューを呼び出す行は次のとおりです。

$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

ブラウザはユーザーを次のURLに誘導します。

http://mydomain.com/login/login_by_id

以前と同じURLにユーザーを戻すようにコードを変更するにはどうすればよいですか?URLアドレスにコントローラー/メソッドを表示したくありません。

ありがとう。

4

1 に答える 1

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");
            }

        }

    }
于 2012-11-26T06:50:10.437 に答える