I am creatting a Code Igniter project in which I want to pass a variable through the URL like a get statement, like this:
url: /site/cake/1
controller function: cake($var)
but when the variable is left blank, I receive an error, how can I get code igniter, to ignore this?
-
Could you post what errors you get?unlobito– unlobito2010-01-31 21:56:20 +00:00Commented Jan 31, 2010 at 21:56
-
A PHP Error was encountered Severity: Warning Message: Missing argument 1 for Site::cake() Filename: controllers/site.php Line Number: 16jpoles1– jpoles12010-01-31 21:59:08 +00:00Commented Jan 31, 2010 at 21:59
Add a comment
|
2 Answers
In your controller, do this:
function cake($var = null) {
// your other code here
}
When $var isn't present in the URL, it will be set to null and you'll receive no error.
3 Comments
Colin Brock
Great - I'm glad :) If my answer helped, would you mind accepting it as the correct answer?
Chetan
You should be setting it to
null instead of false, as false is an actual valid value.Colin Brock
@Chetan: You're absolutely right. I've edited my answer. Thanks for pointing that out.
To explain why Colin's answer works: The issue you had, was that there was no default value for that controller function. In php, creating a default value for a function parameter is done by assigning it a value in the function definition ($var = false). Now when the cake() function is called with no parameter, it will set $var to false by default.