php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #13753 failed session_register in object method
Submitted: 2001-10-19 09:50 UTC Modified: 2001-10-24 03:58 UTC
From: m dot izydorski at rubikon dot pl Assigned:
Status: Not a bug Package: Session related
PHP Version: 4.0.6 OS: linux mandrake 8.0
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: m dot izydorski at rubikon dot pl
New email:
PHP Version: OS:

 

 [2001-10-19 09:50 UTC] m dot izydorski at rubikon dot pl
I have made much tests and it seems, that calling session register in object's method failed. Assume:


<?
(...)[session_start, headers, etc...]
  $edf2 = 1234;
  session_register('edf2');
  class gg {
    function gg() {
                $edf1 = 65432;
                session_register('edf1');
    }
  }
  gg::gg();
?>

After that both session_is_registered('edf1') and session_is_registered('edf1') returns true, but ($edf1
 == $edf2) return false; ($edf1 == '') - is true.

Any suggestions?

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-10-19 09:55 UTC] m dot izydorski at rubikon dot pl
misspeled; should be:

After that both session_is_registered('edf1') and session_is_registered('edf2') returns true
 [2001-10-19 10:14 UTC] hholzgra@php.net
$edf1 is local to the gg() method

you can only register variables from the global
scope, so $edf1 is empty in the session as no
such global variable existed as the session data
was written
 [2001-10-19 10:38 UTC] m dot izydorski at rubikon dot pl
Ok, sorry, but why session_is_registered returns true?

And  btw,  which  list/news  you can recomend me, that I can get help such as this as soon, as possible?


 [2001-10-24 03:58 UTC] hholzgra@php.net
session_register and session_is_registered 
operate on *names* not *variables*

only at request end the list of registered
names is processed and contents of corresponding
*global* variables are stored

what you are looking for is a combination like

if(session_is_registered($name) and isset($GLOBLAS[$name])) ...

and, no, session_register and session_is_registered
can *not* do this job for you as variables in PHP
can be created and removed at any time

checking for existance in session_register makes
no sense as there is no guarante that the variable
won't be unset() before request end

for your list question: see the support section
(on both www.php.net and bugs.php.net) and look
for the php-general list or for the local list
of your favourite language at the end of the 
page

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu May 08 08:01:27 2025 UTC