Snipped to test (session BUG?)

From: Date: Mon, 04 Sep 2000 07:07:17 +0000
Subject: Snipped to test (session BUG?)
Groups: php.general 
Request: Send a blank email to php-general+get-15068@lists.php.net to get a copy of this message
Hi I need your help. The code below works with 4.0.0, problems occurs with 4.0.1pl2 and higher. I was asking on Friday, but nobody answerd. So I'm asking again: just test the following snipped, and tell me, whether it's generating error, _after_ page reload or not. (php should be compiled with postgres, don't forget to change sql and userbase for the existing one) The snipped: <? class User_test { var $db_user; function User_test($userbase) { $this->CONF['userbase'] = $userbase; return true; } function eBase() { $userbase = $this -> CONF['userbase']; $this->db_user = pg_connect("dbname=$userbase") or die("Can't connect<br>"); } function exec($query) { echo "exec: gettype(user->db_user): ".gettype($this->db_user) . " ".$this->db_user. "<br>\n"; $result = pg_exec($this->db_user, $query); return $result; } } function sess_start_test() { global $user; $pre = "pre sess ". serialize($user) . "<br>"; if (!is_object($user)) { $user = new User_test('site'); } session_register('user'); echo $pre; echo "post sess ". serialize($user) . "<br>"; $user -> eBase(); $result = $user->exec("select * from people"); echo "sess_start: gettype(user): ". gettype($user) . "<br>\n"; echo "sess_start: gettype(user->db_user): ".gettype($user->db_user) . " ".$user->db_user. "<br>\n"; echo "sess_start: gettype(result): ".gettype($result) ." ".$result. "<br>\n"; } sess_start_test(); echo "main: gettype(user): ".gettype($user) . "<br>\n"; echo serialize($user). "<br>"; echo "main: gettype(user->db_user): ".gettype($user->db_user) ." ".$user->db_user. "<br>\n"; $result = $user->exec("select * from people"); echo "main: gettype(result): ".gettype($result) . " ".$result."<br>\n"; ?> The output I've got for the first time is: pre sess N; post sess O:9:"user_test":1:{s:4:"CONF";a:1:{s:8:"userbase";s:4:"site";}} exec: gettype(user->db_user): resource Resource id #2 sess_start: gettype(user): object sess_start: gettype(user->db_user): resource Resource id #2 sess_start: gettype(result): resource Resource id #3 main: gettype(user): object O:9:"user_test":2:{s:4:"CONF";a:1:{s:8:"userbase";s:4:"site";}s:7:"db_user";i:0;} main: gettype(user->db_user): resource Resource id #2 exec: gettype(user->db_user): resource Resource id #2 main: gettype(result): resource Resource id #4 And after reloading the page: pre sess N; post sess O:9:"user_test":1:{s:4:"CONF";a:1:{s:8:"userbase";s:4:"site";}} exec: gettype(user->db_user): resource Resource id #2 sess_start: gettype(user): object sess_start: gettype(user->db_user): resource Resource id #2 sess_start: gettype(result): resource Resource id #3 main: gettype(user): object O:9:"user_test":2:{s:4:"CONF";a:1:{s:8:"userbase";s:4:"site";}s:7:"db_user";i:0;} main: gettype(user->db_user): integer 0 exec: gettype(user->db_user): integer 0 Warning: Supplied argument is not a valid PostgreSQL link resource in /www/virtual/site/htdocs/mytest.php on line 19 main: gettype(result): NULL Przem

« previous php.general (#15068) next »