php – CodeIgniter: Page not found when passing parameters to a controller?-ThrowExceptions

Exception or error:

I’m trying to pass parameters to a control in codeigniter, but I’m getting 404 page not found error, I don’t get it, I did what the guide says: http://codeigniter.com/user_guide/general/controllers.html#passinguri

When I remove the params in the index function and just access the controller everything works fine, but I can’t pass a value to it…

Here is the code the way I’m trying to send a param:

http://mysite/123

<?php
class Main extends Controller {

    function index($username) {

        echo $username;

    }

}
?>

How can I get more info regarding this error from codeigniter?

Thank you.

How to solve:

With that URL, CodeIgniter can’t understand if you want to pass 123 to the index method or if you’re requesting the 123 method with no parameters. You have to explicitly name the default method if you need to pass it some parameters.

http://mysite/index/123

Answer´╝Ü

Option 1 – Rempap the function call in your controller

If your controller contains a function named _remap(), it will always get called regardless of what your URI contains. It overrides the normal behavior in which the URI determines which function is called, allowing you to define your own function routing rules.
http://codeigniter.com/user_guide/general/controllers.html#remapping

Option 2 – Use a custom route.

http://codeigniter.com/user_guide/general/routing.html

Leave a Reply

Your email address will not be published. Required fields are marked *