• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
URI Mapping to another controller

#1
[eluser]Unknown[/eluser]
Hi, I wish to map the URI to another controller, however CI can only access the index() method, while calling other method in the mapped controller, it will give me a 404 error.

Example:
Quote:example.com/admin

Everything works as it is. there is a controller for "admin")

But I wish to map the following URI to its controller.

Example:
Code:
example.com/admin/users
this would be mapped to "users" controller

But, so far CI would only show "users" controller's index() method to me.
but if I tried to access other functions defined in "users" controller (in this example : test() method)

Code:
example.com/admin/users/test
would result in a 404 error


here is my current Routes.php's configuration:
Code:
$route['admin/user'] = "user";
$route['default_controller'] = "admin/query";
$route['404_override'] = '';

Any help would be appreciated!
Thanks!

#2
[eluser]douweegbertje[/eluser]

you have to understand that your controller works like this:


example.com/admin/

Code:
<?php

class Admin extends CI_Controller {
  
  
}

example.com/admin/users

Code:
<?php

class Admin extends CI_Controller {
  
  public function users()
  {
  //blaat
  }
  
}

and:
example.com/admin/users/10

Code:
<?php

class Admin extends CI_Controller {
  
  public function users($userId)
  {
  //blaat
  echo $userId;
// will result in echo 10
  }
  
}

#3
[eluser]Unknown[/eluser]
[quote author="douweegbertje" date="1331139399"]
you have to understand that your controller works like this:


example.com/admin/

Code:
<?php

class Admin extends CI_Controller {
  
  
}

example.com/admin/users

Code:
<?php

class Admin extends CI_Controller {
  
  public function users()
  {
  //blaat
  }
  
}

and:
example.com/admin/users/10

Code:
<?php

class Admin extends CI_Controller {
  
  public function users($userId)
  {
  //blaat
  echo $userId;
// will result in echo 10
  }
  
}
[/quote]

Yes, I do understand this.
But it did not make sense if I wrote all my code in to "admin" controller, Right ?

I have separate controller (in this case "users") that deal with managing users data.
But I did not wish the user knew it was accessible through
Code:
example.com/users
for security reasons. ( yes, I did use session to protect the pages from unauthenticated access)

It would be great to be able to map the calls to the separate controller if possible, so the code will be less clutter and easy to maintain.
( Sorry, first time PHP coder, things can get really messy in codes. Tongue )



Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.