Maybe the session should be expired instead?
session_invalidate('login.html?from=session');
$query = sprintf('UPDATE online SET activity = now() WHERE uid = %d', $_SESSION['uid']);
- db_query($query);
+ $sth = db_query($query);
+ if (pg_affected_rows($sth) < 1) {
+ $query = sprintf('INSERT INTO online (uid,activity) VALUES (%d,now())', $_SESSION['uid']);
+ $sth = db_query($query);
+ }
if ($_SESSION["lastupdate"] < time() - 60) {
session_update();