Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter阻止在URL中显示控制器/方法_Php_Codeigniter_Url Rewriting - Fatal编程技术网

Php CodeIgniter阻止在URL中显示控制器/方法

Php CodeIgniter阻止在URL中显示控制器/方法,php,codeigniter,url-rewriting,Php,Codeigniter,Url Rewriting,我正在使用CodeIgniter,我的路线设置如下: $route["(:num)"] ="login/login_by_id/$1"; 这基本上意味着当URL如下所示时: http://mydomain.com/12345 这将有效地将值12345传递到login控制器的login\u id方法中。当我直接输入URL时,一切正常。我遇到的问题是当我尝试加载视图时。以下是调用视图的行: $data['content'] = 'login_view'; $data['title'] = '

我正在使用CodeIgniter,我的路线设置如下:

$route["(:num)"] ="login/login_by_id/$1";
这基本上意味着当URL如下所示时:

http://mydomain.com/12345
这将有效地将值12345传递到
login
控制器的
login\u id
方法中。当我直接输入URL时,一切正常。我遇到的问题是当我尝试加载视图时。以下是调用视图的行:

$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地址中显示控制器/方法

谢谢。

在控制器的函数中(您在点击提交按钮后调用的函数)

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

        }

    }

当用户输入错误的密码时,您希望将其重定向回登录表单。我是对的。是的,这正是我想做的。检查我的答案,完全基于codeIgniter form类。是的,谢谢,但你的答案包括对admin_模型和set_form_验证的引用,我没有。common是我的模型名codeIgniter的新手吗。您只需要添加您的模型名称。您可以删除集合表单验证行。这是通过使用CodeIgniter中的表单验证类进行表单验证。