#22288 [Opn->Fbk]: Local vars and function parameters not accessible!
| From: | sniper@php.net | Date: | Wed, 19 Feb 2003 05:52:02 +0000 |
| Subject: | #22288 [Opn->Fbk]: Local vars and function parameters not accessible! | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-33506@lists.php.net to get a copy of this message | ||
ID: 22288
Updated by: sniper@php.net
Reported By: andre dot goncalves at martelozero dot com
-Status: Open
+Status: Feedback
Bug Type: Variables related
Operating System: Linux
-PHP Version: 4.3.1
+PHP Version: 4.3.1-dev
New Comment:
Your script has serious issues...it sets some cookies?
It also has some errors, apparently caused by the missing
cookie value? This really doesn't seem like any
problem in PHP..
Previous Comments:
------------------------------------------------------------------------
[2003-02-18 23:26:04] andre dot goncalves at martelozero dot com
Hi! this is really a spooky situation!
A. problem with a class only happening in one site (other
implementations use same class and always worked fine).
B. It only happens the first time I hit the site.
C. press F5, or re-enter address, and the problem is gone.
D. restarting browser, causes the problem again.
E. problem is:
The 2nd time I call a method on a certain object,
neither the method parameters, neither the global vars are
acessible, only the pre-declared class members are there.
Remember, i have made a call to this method in the same script
exexcutation, some 20 lines before.
F. Even more spooky, some vars tend to echo values (wrong
values) but var_dump shows NULL for the same var,
right from the next line of code!!!
G. Check below example:
output 1, 3 and 4 show vardump of function parameters NULL
ouput 2 shows that local var $_query (the function's parameter $_query)
receives the return value of the previous function foofunction() call
output 3 shows that variable is in fact NULL
output 5 shows that local var is not accessible
output 6 shows that global var is accessible
output 7 and 8 shows class members ok
output 9 and 10 shows assigning local vars impossible!!!!
H. Don't belive me? TEST IT:
http://66.220.28.17/zero/index.php
Looks like assignment of variables is totally messed up (currupt?)
The script is like dead: I also tried unseting the global
instance of $mydbclass and recreating it, but I get NULL
if I vardump the new instance!!!
Please help me on this one!
//:: CODE EXTRACT FOLLOWS
//:: test function
function foofunction($_bla) {
return "YOUR BLAH: ".$_bla;
}
$fooglobal= "fooglobal";
// function call
$mydbclass->query("select id from user");
//class definition
class mydbclass {
var $version = 1.0
function mydbclass() {
$this->connect(); }
// more class methods ...
function query($_query = "foo", $_fooparam = "bar") {
global $fooglobal;
global $queryix;
$queryix++;
$foolocal = "foolocal";
$this->foonewmember = "foonewmember";
echo "($queryix) _query=";
var_dump($_query);echo BR;
//:: 1 outputs: (2) _query=NULL
if (!($this->tmp = mysql_query($_query))) { ;
$this->tmp2 = $this->bla("select id from zero_user");
echo "_query echo=";
echo($_query);
//::2 outputs: _query echo=YOUR BLAH: bla bla
echo "_query dump=";
var_dump($_query);
//::3 ouputs: _query dump=NULL
echo "_fooparam=";
var_dump($_fooparam);
//::4 ouputs: fooparam=NULL
echo "globalfoo=";
var_dump($fooglobal);
//::5 ouputs: fooglobal=fooglobal
echo "foolocal=";
var_dump($foolocal);
//::6 ouputs: foolocal=NULL
echo "foonewmember=";
var_dump($this->foonewmember);
//::7 ouputs: foonewmember=string(12) "foonewmember"
echo "foooldmember=";
var_dump($this->foooldmember);
//::8 ouputs: foooldmember=string(9) "foooldmember"
echo "result1=";
var_dump($this->result1);
//::9 ouputs: result1=bool(false)
echo "result2=";
var_dump($this->result2);
//::10 ouputs: result2=NULL
}
// more class methods ...
} // end of class
__________________
Thanks,
André Gonçalves
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22288&edit=1