Re: Erf, still doesn't work.

From: Date: Sun, 02 Jul 2000 18:48:14 +0000
Subject: Re: Erf, still doesn't work.
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-4386@lists.php.net to get a copy of this message
Excellent. Knowing that, checking my return and calling write() manually is a snap. Thanks for the help, and thanks for the long nights. =) -Szii At 07:46 PM 7/1/00 -0400, August Zajonc wrote: >Yes, this is a known bug with session handling under PHP... I'm attaching a >workaround... You'll find it fixes things. Took me a couple of long and late >nights (and my own session handling in an include file) to finally figure >this one out at 5 AM. > >The story is, if you have a session variable set, and it's not in the db >yet, write WILL NOT be called. The trick then is to check on the read if >anything came back from the DB for the session key, and if nothing did call >mysql_session_handler_write ($sessionid, $val) from within the read >statement. This cleans things up nicely. You may still have problems on the >first write but they can be worked around. Give this a try in read(). Of >course, this all doesn't do me much good anymore because I can't get >perisitent connections working anymore with the latest stuff. > > function mysql_session_read ($SessionID) { > report_error(__FILE__, __LINE__,"Session Read - $SessionID"); > global $SessionTableName; > $SessionID = addslashes($SessionID); > > $sql = "SELECT Content FROM $SessionTableName WHERE SessionID = >'$SessionID' LIMIT 1"; > if (!$result = sql_query(__FILE__, __LINE__, $sql)) > return false; > > if (mysql_num_rows($result) == 1) > > > return mysql_result($result, 0); > } > else > > > mysql_session_write ($SessionID); > > $sql = "SELECT Content FROM $SessionTableName WHERE SessionID = >'$SessionID' LIMIT 1"; > if (!$result = sql_query(__FILE__, __LINE__, $sql)) > return false; > > if (mysql_num_rows($result) == 1) > > > return mysql_result($result, 0); > } > else > > > return false; > } > > } > > } > >August >----- Original Message ----- >From: "Szii" <szii@earthlink.net> >To: <php-general@lists.php.net> >Sent: Saturday, July 01, 2000 7:40 PM >Subject: [PHP] Erf, still doesn't work. > > >I placed a configured php.ini file in /usr/local/lib (the default place) >and restarted apache...still didn't pick up my "write()" calls for >the session handlers. > >So I rebuilt PHP with the ini still in the default place...no dice. > >So I tried ini_set("session.save_handler", "user"); too >Nadas. > >I can get open() and read() to work, but not write(). > >Anyone have any thoughts? > >-Szii > > >-- >PHP General Mailing List (http://www.php.net/) >To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net >For additional commands, e-mail: php-general-help@lists.php.net >To contact the list administrators, e-mail: php-list-admin@lists.php.net > > >

« previous php.general (#4386) next »