ID: 27050 Updated by: [EMAIL PROTECTED] Reported By: design at laneforestproducts dot com -Status: Feedback +Status: No Feedback Bug Type: Session related Operating System: Windows 2000 PHP Version: 5.0.0b3 (beta3) New Comment:
No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. Previous Comments: ------------------------------------------------------------------------ [2004-01-27 15:56:54] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2004-01-27 11:03:02] design at laneforestproducts dot com Yes, I am using php 5... Don't worry, it only exists in our dev sandbox =) But I am very excited at this new turn for php! About Kill Session: I meant to close your browser and then reload the page to get a new session, thus firing the creation of a new lfp_user object. I would expect a new phpsessid to be generated, and the lfp_guid to be found on the client's box when the object is instantiated. Instead, the lfp_guid cookie is never found. The print_r is there as the lazy approach to actually checking your cookies: you can open the page then refresh to explode the cookie array onto your screen, although I suppose lfp_user does some echo's too. Thanks for the quick response! ~Andrew ------------------------------------------------------------------------ [2004-01-26 20:10:51] [EMAIL PROTECTED] First of all, are you really using PHP 5? Have you tried PHP 4.3.4 ? And what do you mean with 'kill session' ?? ------------------------------------------------------------------------ [2004-01-26 11:16:22] design at laneforestproducts dot com Description: ------------ With the code below, the expected function is that a returning user with the 'lfp_guid' cookie will be recognized when the cookie is read. However, the lfp_guid is never found again after creation and a new lfp_guid is created at the beginning of each session. Reproduce code: --------------- class lfp_user { var $guid; function lfp_user() { if (isset($_COOKIE['lfp_guid'])) { $this->guid =$_COOKIE['lfp_guid']; } else { $this->guid = md5(uniqid(rand(0,1)*100,true)); setcookie("lfp_guid",$this->guid,time()+60*60*24*365*2,"","127.0.0.1",true); } echo "LFP_USER.constructor: _COOKIE['lfp_guid']== '".$_COOKIE['lfp_guid']."'<br>"; echo "LFP_USER.constructor: GUID == ".$this->guid."<br>"; //echo isset($_COOKIE['lfp_guid'])."<br>"; } // end constructor } // end class session_start(); if (empty($_COOKIE['PHPSESSID'])) { $_SESSION['lfp_user'] = new lfp_user(); } // kill session and reload page again to see nothing in cookie: print_r($_COOKIE); Expected result: ---------------- Since the lfp_guid cookie is actually set on the user's machine, $_COOKIE would access this list and store it in the new object. Actual result: -------------- A new lfp_guid is created and set on the user's machine no matter what. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27050&edit=1
