num_rows == 1) { return $result->fetch_assoc()["user_id"]; } return false; } public static function remember_visitor($visitor_id) { $session_id = self::generate_id(); $expiry = time() + $GLOBALS["SESSION_VISITOR_VALIDITY"]; $query = "INSERT INTO `visitor_sessions` (`session_id`, `user_id`, `expiry`) VALUES ('$session_id', $visitor_id, $expiry);"; Database::execute_query($query); $_SESSION[$GLOBALS["SESSION_VISITOR"]] = $session_id; return self::get_visitor() == $visitor_id; } public static function get_visitor() { $query = "SELECT `visitor_id` FROM `visitor_sessions` WHERE `session_id` = '" . self::get_visitor_session() . "';"; $result = Database::execute_query($query); if ($result->num_rows == 1) { return $result->fetch_assoc()["visitor_id"]; } return false; } public static function forget_visitor($visitor_id) { $query = "DELETE FROM `visitor_sessions` WHERE `session_id` = '" . self::get_visitor_session() . "';"; Database::execute_query($query); unset($_SESSION[$GLOBALS["SESSION_VISITOR"]]); } }