Best way to make Admin pages in CodeIgniter? Best way to make Admin pages in CodeIgniter? codeigniter codeigniter

Best way to make Admin pages in CodeIgniter?


Definitely a different controller at least!

I used to think that I could keep all my admin functions in a single controller, but as my programs grew, I realized that I needed multiple controllers in my administration section.

So, I created a folder inside my controllers folder with the name "admin" and put all my administrative controllers in there. So my folders would look something like:

  • application
    • controllers
      • front.php
      • welcome.php
      • admin
        • dashboard.php
        • useradmin.php
  • etc...

One problem this creates, however, is when you type http://mysite.com/admin in your browser, it returns a 404 page. So, go to your "application/config/routes.php" file and add a custom route:

$routes['admin'] = 'admin/dashboard/index';


It's a good idea to have an admin folder in the controllers folder wherein you can access your administration e.g. yoursite.com/admin/users.

All your administrative needs will be there and all methods will be protected by checking user privileges like so:

if ( ! $this->auth->logged_in(array('login', 'admin'))){    $this->session->set_flashdata('message', 'You do not have access to view this page');    redirect('admin/users/login');}

Then all controllers outside the 'admin' folder will - depending on your type of site - will only be for viewing, etc.. no administrative portions.


Idea 2 is better.system/application/controllers/admin

You keep all your admin controllers here.