2010-07-24 9 views
0

Ceci est mon AdminBase.phpCodeIgniter problème contrôleur

<?php 

class AdminBase extends Controller{ 

    public function __construct(){ 
     parent::Controller(); 
     $admin = $this->session->userdata('username'); 
     if(!isset ($admin)){ 
      redirect('/Site/Home'); 
     } 
    } 

} 

Et voici mon contrôleur Admin: -

<?php 

class Admin extends AdminBase{ 

    public function index(){ 
     echo "You are in Admin panel!!"; 
    } 

} 

Lorsque je navigue au contrôleur Admin, je reçois cette erreur: -

Fatal error: Class 'AdminBase' not found in C:\Program Files\wamp\www\College\application\controllers\Admin.php on line 3

+0

vous pouvez utiliser le hmvc dans codeingniter qui est bon, puis étend la classe –

Répondre

2

Vous devez placer cette ligne sur Admin.php

<?php 
// Include Base Controller 
    include ('AdminBase.php'); 
class Admin extends AdminBase{ 

    public function index(){ 
     echo "You are in Admin panel!!"; 
    } 

} 

également votre classe de base admin devrait être comme

<?php 

class AdminBase extends Controller{ 

    public function __construct(){ 
     parent::Controller(); 
     $admin = $this->session->userdata('username'); 
     if(empty($admin)){ 
      redirect('/Site/Home'); 
     } 
    } 

} 

Merci

+0

Merci Muhit, pouvez-vous me dire pourquoi je vois 'vous êtes dans le panneau d'administration» même s'il n'y a pas de variable de session ensemble? trouvez-vous une erreur avec ma classe AdminBase? – TCM

+0

Oui si (! Isset ($ admin)) est toujours faux. parce que $ this-> session-> userdata ('nom d'utilisateur'); retournera toujours une valeur ou un booléen, il ne devrait donc pas être "! isset()" mais peut être "empty()" ou cocher null ou cocher false etc. – Muhit

+0

Veuillez regarder, j'ai mis les changements dans le code. – Muhit

1

Il y a une autre façon de faire vient de créer le nom de fichier MY_Controller.php à l'application/libralies

puis créer comme ceci

<?php 
class AdminBase extends Controller { 
    public function __construct(){ 
     parent::Controller(); 
     $admin = $this->session->userdata('username'); 
     if(!isset ($admin)){ 
      redirect('/Site/Home'); 
     } 
    } 
}