ID:               16102
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Analyzed
 Bug Type:         Session related
 Operating System: Windows 2000/XP
 PHP Version:      4.1.2
 New Comment:

I recently upgraded to 4.12 running W98: Apache 1.3.19, Win32
PHP/4.1.3-dev running;  reg_globals OFF; trying to work my way through
sessions. Yikes!!   It is hard to figure how it works or when to use
$_SESSION or HTTP_SESSION_VARS, w/ or without session_register().  

   /* this seems to ~work  sort of, maybe...
  $ship_type = $HTTP_SESSION_VARS['ship_type'];  //or with $_SESSION..
which seems to be erratic

  session_unregister("ship_type");
  $ship_type= 'trs'; //$ship_type + 1;
  session_register("ship_type");
  flush();
  //   This allows other pages to show the revised value via
$_SESSION["ship_type"]   

Now if I could just erase a pair in an array with unset...


Keep up the goodwork!


Previous Comments:
------------------------------------------------------------------------

[2002-03-25 20:14:53] [EMAIL PROTECTED]

This comment is just to say that I am experiencing the same problem
with PHP 4.1.2 as CGI, Windows 98 SE German, Apache 1.3.20, using
php.ini with register_globals turned OFF and neither $_SESSION nor
$HTTP_SESSION_VARS is working. A session file is created in the
sessions directory but no variables are stored within it. A typical
error I get when trying to use a variable previously stored in
$_SESSION is:
Warning: Undefined index: text in session_2.php on line 3. I mistakenly
reported this as a new bug to
http://bugs.php.net/bug.php?id=16273&edit=2 but I set that to
"Duplicate" now, so I hope it will be ok. Sorry. Robert

------------------------------------------------------------------------

[2002-03-20 17:57:04] [EMAIL PROTECTED]

Using the $HTTP_SESSION_VARS["foo"] = "bar" is all well and good, but
one of the major points about 4.1.x was the new $_SESSION array and its
global scope. Infact it got a big mention on the download page. Its
only fair to put a big mention that its broke in 4.1.2 as I'm sure that
a few devs (myself included) now have broken code using
$_SESSION["foo"] = "bar" which is silly to take back to the old way of
doing it.

Either make a note or release a patch!

FWIW, this happens on Apache 1.2.23 in SAPI mode and Apache 2.0.32 beta
in CGI mode

------------------------------------------------------------------------

[2002-03-20 12:55:14] [EMAIL PROTECTED]

Using session_start() and setting $HTTP_SESSION_VARS['my_Var'] to any
value mays help.

Here is my code to use the $_SESSION array :

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

session_start();

if (!isset($_SESSION["count"])) {
        $HTTP_SESSION_VARS["count"] = 0;
}

$_SESSION["count"]++;

echo $_SESSION["count"];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP Version : 4.1.2
OS : Win2K Server
Webserver : APACHE 1.3.22
PHP running as the php.exe

------------------------------------------------------------------------

[2002-03-19 11:21:04] [EMAIL PROTECTED]

Fix it and release a new version or at least make a note on the
downloadpage.

------------------------------------------------------------------------

[2002-03-19 00:39:08] [EMAIL PROTECTED]

After reading more posts on this subject, I went back and put some
debug code into my application. I see now that the POST variables are
fine; the difficulty is with the session variables. The problem appears
to be somewhere in php4ts.dll, which is copied to \WINNT\system32 as
part of the installation. I mentioned earlier that the version from the
link in http://www.zend.com/zend/week/week77.php was OK. The link on
that page is now dead.

I'm running:
Apache_1.3.23-Mod_SSL_2.8.7-OpenSSL_0.9.6c
Windows 2000 Pro SP2 + pre-SP3 updates
PHP running as module (php4apache.dll); no CGI
MySQL 4.0.1-alpha-win

This problem with session variables is a big deal, but there is no
warning on the download page for Windows users.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/16102

-- 
Edit this bug report at http://bugs.php.net/?id=16102&edit=1

Reply via email to