Snipped to test (session BUG?)
| From: | Przem Kowalczyk | 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