2016-08-17 10 views
0
class MY_Controller extends CI_Controller 
{ 
    public $data = array(); 

    function __construct() 
    { 
     parent::__construct(); 
     if($this->session->userdata('group_id') == FALSE) { 
      redirect('user/login'); 
     }else { 
      //How download sessions? 
      //How Get the session given group_id? 
      //How Redirect to the appropriate controller? 
      if grup_id == 1 then goto administrator/dashboard 
       //if not exist grup id then goto /index 
      } 
     } 
    } 

IN codeigniter FRAMEWORK PHPCodeigniter Sitzungen php

+0

Ich möchte Dashboard zum Anmelden. Admin, Manager und Benutzer –

+1

Werfen Sie einen Blick auf - http://StackOverflow.com/Help/how-to-ask –

+1

Willkommen bei SO. Bitte lesen Sie [Welche Themen kann ich fragen?] (Http://stackoverflow.com/help/on-topic) und [Wie stelle ich eine gute Frage] (http://stackoverflow.com/help/how-to -ask) Und [die perfekte Frage] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) Und wie man ein [minimales, vollständiges und überprüfbares Beispiel] erstellt (http://stackoverflow.com/help/mcve) SO ist ** nicht eine kostenlose Codierung oder Code-Konvertierung oder Debugging oder Tutorial oder Bibliothek Finding-Service ** Sie müssen auch zeigen, dass Sie einige Anstrengungen unternommen haben, um zu lösen dein eigenes Problem. – RiggsFolly

Antwort

1

Sie diese Lösung für Ihr Problem versuchen.

class MY_Controller extends CI_Controller 
{ 
    public $data = array(); 

    function __construct() 
    { 
     parent::__construct(); 

     if($this->session->userdata('group_id') == 1) { 
      redirect('administrator/dashboard'); 
     } esle if($this->session->userdata('group_id') == 2) { 
      redirect('manager/dashboard'); 
     } esle if($this->session->userdata('group_id') == 3) { 
      redirect('user/dashboard'); 
     } else { 
      redirect('user/login'); 
     } 
    } 
} 
+0

Vielen Dank! Ich möchte Logging-Optionen für den Manager und den Benutzer mit anderen tun, wenn Sie wissen, wie? –

+0

können Sie jetzt in der MY_Controller-Datei überprüfen. –

0

Je nachdem, was Sie versuchen, Sie zu erreichen, kann https://github.com/benedmunds/CodeIgniter-Ion-Auth Ion Auth Bibliothek überprüfen. Die Verwendung einer bereits vorhandenen Bibliothek, die Ihren Anforderungen entspricht, kann die Entwicklungsgeschwindigkeit für ein Projekt drastisch verbessern.

0

Es gibt einen Typenkonflikt. group_id ist entweder ein int oder null, kein boolescher Wert. Rufen Sie den Wert auch einmal aus der Sitzung ab und weisen Sie ihn einer Variablen zu, um zu vermeiden, dass die Mitgliederfunktion der Sitzung immer wieder aufgerufen wird.

function __construct() 
{ 
    parent::__construct(); 
    group_id = $this->session->group_id; 
    if (is_int(group_id)) // if group_id is set and assigned an int 
    { 
     switch ($group_id) 
     { 
      case 1: 
       redirect('administrator/dashboard'); 
       break; 
      ... 
      default: 
       redirect('defaultpage'); 
     } 
    } 
    else 
    { 
     redirect('user/login');  
    } 
} 

Nachdem dies gesagt ist, können Sie nicht das Rad neu erfinden wollen und verwenden ion_auth, die Benutzerverwaltung und Authentifizierung Klasse für CI.