note 39125 added to ref.session

From: Date: Sun, 18 Jan 2004 00:21:43 +0000
Subject: note 39125 added to ref.session
Groups: php.notes 
Request: Send a blank email to php-notes+get-63758@lists.php.net to get a copy of this message
For those having problems with session variables such as: $_SESSION['sessn_data']['somedata'] = 'somevar'; I have found that session_register('sessn_data') is required at least once (before setting this variable) to keep this data saved in the users session. If you use only $_SESSION['sessn_data'] = 'somevar'; And also use session_register('sessn_data') your session will be reset each time the session_register('sessn_data') is called after you set the $_SESSION['sessn_data'] variable. Example: Page 1: session_start(); session_register('sessn_data'); $_SESSION['sessn_data'] = 'some-var'; Page 2: session_start(); session_register('sessn_data'); echo $_SESSION['sessn_data']; Will return false, also: Page 1: session_start(); $_SESSION['sessn_data']['some-var'] = 'some-value'; Page 2: session_start(); echo $_SESSION['sessn_data']['some-var']; Will return false if session_register('sessn_data') is not called before setting its value. You need to use in this instance: Page 1: session_start(); session_register('sessn_data'); $_SESSION['sessn_data']['some-var'] = 'some-value'; Page 2: session_start(); echo $_SESSION['sessn_data']['some-var']; Tested on Linux Op Sys, Apache 1.3.29 (Unix) and PHP 4.3.3 with register globals switched both on and off, default PHP ini settings. ---- Manual Page -- http://www.php.net/manual/en/ref.session.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+39125 Delete -- http://master.php.net/manage/user-notes.php?action=delete+39125&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+39125&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#63758) next »