ID: 19882
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Feedback
+Status: Open
Bug Type: Session related
Operating System: Redhat 7.2
PHP Version: 4CVS-2002-10-12
New Comment:
To answer iliaa's question: No, session_start is called on a separate
page.
This is really weird, I made up the following script as per Sniper's
request:
<?
session_start();
session_register('testvar');
$testvar = "test";
$data = session_encode();
$testvar = "false";
session_decode($data);
echo("$testvar");
?>
Strangely, THIS script works fine (if it was 'broken', it should output
"false", while it in fact prints "test").
However, I've made another script where the error is replicated:
www.dfstudios.com/session_test.php
Here's the source:
session_test.php------
<?
session_start();
session_register('testvar');
$testvar = "test";
$data = session_encode();
echo("testvar is \"$testvar\", and has been encoded: $data <br><br>");
?>
<a href="session_test2.php?<? echo("$data"); ?>>Click here for page
two</a>
session_test2.php------
<?
session_decode($QUERY_STRING);
echo("testvar is \"$testvar\", and the string used for decoding is
$QUERY_STRING <br><br>");
?>
Notice how $testvar is properly set on the first page and encoded
properly, but in the second page $testvar is null. It seems that if
session_start and session_decode are called in separate pages the
decode function fails.
Previous Comments:
------------------------------------------------------------------------
[2002-10-12 21:42:27] [EMAIL PROTECTED]
I closed the other report since it really is same issue.
Please add a short simple script which clearly shows the
problem you're having. And all in one single script, thank you.
------------------------------------------------------------------------
[2002-10-12 20:09:30] [EMAIL PROTECTED]
But does that page that calls session_decode call session_start itself?
------------------------------------------------------------------------
[2002-10-12 20:02:38] [EMAIL PROTECTED]
Yes, session_start() is called in another page. I store the session
data string in a local database and pass the session ID from page to
page.
I should note that I've used these scripts with no problems for MONTHS,
I began experiencing crashes yesterday, for no reason I can identify,
and it's been all downhill from there.
------------------------------------------------------------------------
[2002-10-12 19:49:26] [EMAIL PROTECTED]
Did you initialize a session by calling session_start() before calling
session_decode() ?
------------------------------------------------------------------------
[2002-10-12 18:51:03] [EMAIL PROTECTED]
This is probably related to the issue described in
http://bugs.php.net/bug.php?id=19877.
In 4CVs-2002-10-12 session_decode() appears to be non-functional. The
function simply does nothing - no values are returned and no variables
are set. I have verified that I'm passing the function a properly
formatted session data string.
register_globals is on. Here's my configure line:
./configure --with-mysql --with-apache=/root/apache_1.3.27
--enable-track-vars --enable-trans-sid --enable-sigchild --enable-ftp
--enable-debug --enable-sockets
I'm using the CVS version because I was experiencing the session_decode
crash bug with version 4.2.x (see previous bug report - URL given
above). Perhaps these two issues are related?
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=19882&edit=1