codeigniter:从另一个方法调用Index方法

时间:2013-05-27 05:31:34

标签: codeigniter

我是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”方法在其最后条件下无法正常工作。页面不会重定向到控制器。

有人可以帮忙吗? 感谢

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

而不是

$this->index();

试试这个

header('Location:http://myipaddress/mysite/user');

答案 2 :(得分:0)

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

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

使用redirect('user / login');并将错误消息存储在会话闪存中。

或显示验证错误..

您无法从控制器呼叫控制器。 as $ this-> index();