diff --git a/interface/lib/classes/session.inc.php b/interface/lib/classes/session.inc.php index 7ec2955d0be27b5c4e2bd995859f7b3383ac69d5..aff61aa94ec6e96b9ddc4295427a05c496b878de 100644 --- a/interface/lib/classes/session.inc.php +++ b/interface/lib/classes/session.inc.php @@ -56,7 +56,7 @@ class session { if (is_array($rec)) { $this->session_array = $rec; - return $rec['session_data']; + return $this->session_array['session_data']; } else { return ''; } @@ -68,6 +68,11 @@ class session { $this->session_array = array(); } + // Dont write session to DB if session data has not been changed after reading it. + if(isset($this->session_array['session_data']) && $this->session_array['session_data'] != '' && $this->session_array['session_data'] == $session_data) { + return true; + } + if ($this->session_array['session_id'] == '') { $session_id = $this->db->quote($session_id);