CodeIgniter optional parameter CodeIgniter optional parameter codeigniter codeigniter

CodeIgniter optional parameter


The clearest way to express this would probably be to declare both routes:

$route['signup'] = "user/signup";$route['signup/(:num)'] = "user/signup/$1";


For anyone else reading this in due course - I believe the answer should be $route['signup/?(:num)?'] which makes the number optional as well. I had similar issues on something else.


The trouble with @Ukuser32's answer is that it allows for URIs like signup69 to be accepted, which in this case might be innocuous but in the general case is undesirable. Just put the slash in with the captured :num

$route['signup(/:num)?'] = "user/signup$1"

And note that if you have multiple optional segments, then you will need to nest them....