我正在使用CodeIgniter,我的路由设置如下:
$route["(:num)"] ="login/login_by_id/$1";
这基本上意味着当URL看起来像这样:
http://mydomain.com/12345
这将有效地将值12345传递给login_by_id
控制器的login
方法。当我直接输入网址时,一切正常。我遇到问题的地方是当我尝试加载视图时。这些是调用视图的行:
$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地址中显示控制器/方法。
感谢。
答案 0 :(得分: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");
}
}
}