CodeIgniter Forums
Adding admin area - Printable Version

+- CodeIgniter Forums (
+-- Forum: Using CodeIgniter (
+--- Forum: General Help (
+--- Thread: Adding admin area (/showthread.php?tid=71154)

Adding admin area - TamasD - 07-12-2018


I created the frontend of my app and now I'd like to create an admin dashboard.

I created an Admin.php controller with the following content:

PHP Code:

class Admin extends CI_Controller
     public function view($page 'dashboard')
           if(!file_exists(APPPATH 'views/admin/' $page '.php')) {

['title'] = ucfirst($page);

           $this->load->view('admin/' $page$data);

I created  dashboard.php in views/admin

but I cannot access the page. If i try to access it like this: http://localhost:8080/ci/admin/view/dashboard
then it's ok, but I'd like to access the admin dashboard like this: http://localhost:8080/ci/admin/

I guess my route is incorrect, I used this:

PHP Code:
$route['admin'] = 'admin/dashboard'

i'm new to CI and I'm just tinkering with it to learn, but I can't figure this out. Any help is appreciated.

RE: Adding admin area - php_rocs - 07-12-2018


Here is a link to the documentation about URI routing ( )

RE: Adding admin area - TamasD - 07-12-2018

(07-12-2018, 03:15 PM)php_rocs Wrote: @TamasD

Here is a link to the documentation about URI routing ( )

Yes, i checked it already, but not sure what would be the solution for me.

RE: Adding admin area - salain - 07-12-2018


Your route should be:

PHP Code:
$route['admin'] = 'admin/view'

This will work as your method default to 'dashboard'

RE: Adding admin area - enlivenapp - 07-13-2018

The short version is your route is looking for the Admin Controller with a 'dashboard' Method.  It should be looking for the Admin Controller with the View Method.  You're close, almost there.

To expand and explain a bit on previous answers;  

I've assumed you've not removed index.php from your URL below and in application/config/config.php `base_url` = ''

according to your controller's default $page = 'dashboard'
PHP Code:
$route['admin'] = 'admin/view'
would give you the dashboard.php view when you call the URL

To change the page, you would call something like this:


which will load the views/settings.php and views/themes.php files respectively.

Lastly, you don't *need* to define a route (unless you want to) usually, that controller would be accessible without any routes defined via:

since magic routing is available all the time.  

The "magic" routing is:[controller]/[method]/[$param1]/[$param2]... etc

Good luck and welcome to CodeIgniter!

RE: Adding admin area - TamasD - 07-13-2018

@enlivenapp and @salain: thanks very much Smile