ID: 34524 User updated by: zoom at atlas dot sk Reported By: zoom at atlas dot sk -Status: Feedback +Status: Open Bug Type: Session related Operating System: WinXP PHP Version: 5.1.0RC1 New Comment:
here is sniplet of my code that should authentificate user, rewrite current session_id, assign some attribute to it and let him go to next page. // session_start() session_regenerate_id(true); $sql = "INSERT INTO logins VALUES ('{$log_date}','{$IP['addr']}')"; $db->query($sql); $_SESSION['userid'] = $uid; $link = "Location: http://" . $CONFIG['APP_HOST'] . "in/"; session_commit(); header($link); // expected behaviour 1. rewrite session id (I use cookies to propagate SID) and keep current attributes. 2. remove old session file from filesystem 3. insert 1 record into database 4. add new attribute into $_SESSION['uid'] 5. redirect user to new page // actual results 1. rewrite session id (cookie) and file 2. remove old session file (*randomly* error "Warning: session_regenerate_id() [function.session-regenerate-id]: Session object destruction failed in" occurs!) 3. 2 records are inserted into database (instead of one) 4. ok 5. if no error occured in point 2, then redirect is ok. Used system is WinXP - SP2 PHP5.1RC2 instaled in SAPI mode Apache 2.0.53 Clients used: IE6, Firefox1.0.6 Previous Comments: ------------------------------------------------------------------------ [2005-09-16 12:01:12] [EMAIL PROTECTED] Not enough information was provided for us to be able to handle this bug. Please re-read the instructions at http://bugs.php.net/how-to-report.php If you can provide more information, feel free to add it to this bug and change the status back to "Open". Thank you for your interest in PHP. ------------------------------------------------------------------------ [2005-09-16 11:59:38] zoom at atlas dot sk Description: ------------ I use following order of code after users log-in, to regenerate session id. session_start() ...checking values... ...assigning values into $_SESSION session_regenerate_id(true) ...inserting into database, date and IP of log event. session_commit() header() redirect into another page to show private content. ---- interesting thing is, that every time I run this script I get 2! inserts into database - as there were 2 logins occured. I use IE6 and FF and have also *random* problems with session_destroy() function. In debugging process I uncovered this above. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34524&edit=1