0

我是新来的CodeIgniter。我遇到了问题。我的程序似乎合乎逻辑,但它不起作用!

我有一个控制器:User

class User extends CI_Controller {

    public function __construct()   {
        parent::__construct();
        $this->load->model('user_model');  
    }

    public function index($slug = FALSE) {
        $data['title'] = "User List";
        if($slug === FALSE) {
            $data['user'] = $this->user_model->get_user();      
        } else {
            $data['user'] = $this->user_model->get_user($slug);      
        }    
        if (empty($data['user'])){
            show_404();
        }
        $this->load->library('table');        
        $this->load->view('user_view', $data);    
    }

    public function authen() {
        $this->load->helper('form');
        $this->load->library('form_validation');    

        $this->form_validation->set_rules('phone', 'phone', 'required');
        $this->form_validation->set_rules('password', 'password', 'required');

        if ($this->form_validation->run() === FALSE) {
            $this->load->view('login_form');
        } else {
            if($this->user_model->do_login()===TRUE) {
                $this->index();
            }      
            $this->authen();                   
        }
    }
}

“authen”方法在其最后条件下无法正常工作。页面不会重定向到控制器。

有人可以帮忙吗?谢谢

4

3 回答 3

1

您可以使用:redirect('user')它会将您重定向到控制器用户类

于 2013-05-27T05:34:08.903 回答
0

代替

$this->index();

尝试这个

header('Location:http://myipaddress/mysite/user');
于 2013-05-27T05:32:50.750 回答
0

如果出现任何身份验证错误,您将尝试加载登录页面。

为此,您需要再次将用户带到登录页面。

使用重定向('用户/登录');并将错误消息存储在会话闪存中。

或显示验证错误..

您不能从控制器调用控制器。作为 $this->index();

于 2013-05-27T05:38:44.327 回答