2017-01-25 2 views
0

Ich versuche, um Controller-Index umleiten, wenn nicht berechtigt, den Zugriff auf andere Funktionen innerhalb der gleichen Controller. Nach meiner Codierung sieht es wie Endlosschleife aus. Bitte hilf mir, das zu tun.Umleiten zu einer bestimmten Controller-Funktion, wenn die Validierung in Codeigniter fehlgeschlagen

class Customer_Dashboard extends CI_Controller { 
    public function __construct() { 
     $method= $this->router->fetch_method(); 
     if ($this->session->userdata("cus_sel_comp")) { 

     }else{ 
      if($method !="index"){ 
       redirect(base_url()."customer_dashboard");exit; 
      } 
     } 
    } 
    public function index() { 
     // Here do some operations and let the user to select company and update the "cus_sel_comp" session variable. After set that session user can access the other controller functions. 
    } 
    public function other_function1() { 

    } 
    public function other_function2() { 

    } 
} 

Meine Codierung ist wie oben. Ich muss dies mit demselben Controller tun. Problem ist, wenn diese Sitzung dort nicht eine Endlosschleife ist.

Antwort

0

Anstatt die Return-Index-Funktion umzuleiten. Siehe Code unten

if($method !="index"){ 
       return $this->index(); 
} 
0

Sie rufen dieselbe Funktion auf und leiten sie auf dieselbe Methode um.

class Customer_Dashboard extends CI_Controller { 
     public function __construct() { 
      $method= $this->router->fetch_method(); 
      if ($this->session->userdata("cus_sel_comp")) { 

      }else{ 
       if($method !="index"){ 
        redirect(base_url()."Customer_Dashboard/index"); // Redirect it to index if other method is invoked. 
       } 
      } 
     } 
     public function index() { 
      // Here do some operations and let the user to select company and update the "cus_sel_comp" session variable. After set that session user can access the other controller functions. 
     } 
     public function other_function1() { 

     } 
     public function other_function2() { 

     } 
    } 

auch dont base_url() verwenden, anstatt dass ein Pfad in Config definieren base_url() viele andere Einträge hat vorhanden, die un-unbedingt aufgerufen werden.

+0

Können Sie mir eine Lösung dafür geben? –

+0

@GayanFernando habe ich Ihre Frage bezüglich Redirect beantwortet ?. Bitten Sie um eine Lösung für dieses oder "base_url" eins? –

+0

Ich muss auf customer_dashboard Controller-Index-Funktion umleiten. Nicht für den Site-Hauptcontroller. Ist das möglich? Oder gibt es einen anderen Weg als die Weiterleitung? –

Verwandte Themen