Yes I know global variables is a bad practice, but ease up on that rule for this one 😛
My code:
include('something.php'); //where $from is declared
function myfunc() {
global $from;
echo "from(myfunc)=$from<br />";
...
}
echo "from=$from<br />";
myfunc();
The result is:
from=2010-05-01
from(myfunc)=
What’s going on? 🙁
EDIT:
If it helps, all the code above is inside a view file in CodeIgniter ( and yes, I know functions are not supposed to be inside views 😛 )
I’ll bet a beer you are not inside the global scope with this snippet. Are you calling this from within a function?
In that case, the
$fromyou define insomething.phpis not global, while the one you reference in the function is.It will probably work if you add a
global $from;insidesomething.phpbefore you define$from.Needless to say, it’s not a nice practice either way, and you should follow Gordon’s advice.