ID: 25870
User updated by: memoimyself at yahoo dot com dot br
-Summary: Session variables do NOT work as expected without
session_register()
Reported By: memoimyself at yahoo dot com dot br
-Status: Bogus
+Status: Open
Bug Type: Session related
Operating System: Windows 2000 SP 4
PHP Version: 4.3.3
New Comment:
First of all, thanks a lot for taking time to reply to my post so
quickly.
Now, while I have not taken any offence whatsoever and can only imagine
how busy you must be, I am *not* a newby and have *always* called
start.php before test.php. The session variable ($_SESSION['test'])
simply will *not* be registered unless I *reload* start.php (i.e. load
it twice). On the start.php page I have included a
link to test.php, so that the second page is only called after the
first, i.e. the session variable was *supposed* to have been
initialized.
Perhaps this is a bug only affecting PHP under Windows?
Previous Comments:
------------------------------------------------------------------------
[2003-10-14 17:57:17] [EMAIL PROTECTED]
Sorry, but your problem does not imply a bug in PHP itself. For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.
Thank you for your interest in PHP.
Works fine, if start.php which intializes the session variable is
always started before test.php, which uses it.
------------------------------------------------------------------------
[2003-10-14 14:51:12] memoimyself at yahoo dot com dot br
Actually, I've found out that using session_register() won't help at
all. What does work is if I reload the page where the session variable
is set (start.php) and then open the page where the session variable is
used (test.php). For obvious reasons, this is not a very convenient
solution in a production environment. :-)
------------------------------------------------------------------------
[2003-10-14 14:27:17] memoimyself at yahoo dot com dot br
Using Apache 2.0.46 and PHP as an Apache module (as opposed to CGI).
------------------------------------------------------------------------
[2003-10-14 14:03:48] memoimyself at yahoo dot com dot br
Description:
------------
I read in the manual that the use of session_register() is deprecated
and that session variables should now be registered simply by creating,
and assigning a value to, a member of the $_SESSION array.
Well, try as I may, I just cannot register session variables without
using session_register(). If, however, I use session_register() before
assigning a value to the new session variable via $_SESSION['x'],
everything works fine.
Reproduce code:
---------------
// PAGE A (start.php):
<?php
session_start();
$_SESSION['test'] = 'my test';
?>
/*******/
// PAGE B (test.php, called after start.php, obviously):
<?php
session_start();
print $_SESSION['test'];
?>
Expected result:
----------------
OUTPUT TO SCREEN:
my test
Actual result:
--------------
OUTPUT TO SCREEN:
Notice: Undefined index: test in D:\htdocs\Test\session\test.php on
line 3
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25870&edit=1