diff options
Diffstat (limited to 'include/functions_session.inc.php')
-rw-r--r-- | include/functions_session.inc.php | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/functions_session.inc.php b/include/functions_session.inc.php index 482c76376..96508a923 100644 --- a/include/functions_session.inc.php +++ b/include/functions_session.inc.php @@ -166,13 +166,24 @@ UPDATE '.SESSIONS_TABLE.' ;'; pwg_query($query); if ( mysql_affected_rows()==0 ) - { + { // 2 possible cases: + //- the user has just login so we need to insert + //- the user went through 2 pages very fast (in the same second), so + // data and expiration are the same as before $query = ' +SELECT id FROM '.SESSIONS_TABLE.' + WHERE id = \''.$session_id.'\' +;'; + $id = array_from_query( $query, array('id') ); + if ( empty($id) ) + { + $query = ' INSERT INTO '.SESSIONS_TABLE.' (id,data,expiration) VALUES(\''.$session_id.'\',\''.$data.'\',now()) ;'; - pwg_query($query); + pwg_query($query); + } } return true; } |