2013-05-27 4 views
0

Je suis nouveau dans CodeIgniter. Je reçois un problème. Ma procédure semble logique mais ça ne marcherait pas!CodeIgniter: appel Index Méthode d'une autre méthode

J'ai un contrôleur: 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();     
     } 
    } 
} 

La méthode "authen" ne fonctionne pas correctement avec ses dernières conditions. La page ne redirige pas vers le contrôleur.

Quelqu'un peut-il aider? Merci

Répondre

1

Vous pouvez utiliser: redirect('user') il redirigera u à la classe utilisateur du contrôleur

+0

Merci, cela fonctionne. Mais pourquoi pas le $ this-> index() ne fonctionne pas? En fait plusieurs sites google le disent .. –

+0

Essayez de vérifier celui-ci: http://stackoverflow.com/questions/723883/redirect-with-codeigniter –

0

Au lieu de

$this->index(); 

essayer cette

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

Vous êtes essayer de charger la page de connexion en cas d'erreur d'authentification.

Pour cela, vous devrez à nouveau amener l'utilisateur à la page de connexion.

redirection d'usage ('utilisateur/login'); et stocker le message d'erreur dans la session flash.

ou des erreurs de validation d'affichage ..

vous ne pouvez pas appeler le contrôleur d'un contrôleur. comme $ this-> index();

Questions connexes