ID: 22288 Updated by: [EMAIL PROTECTED] 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