Но как сделать так чтобы этот таймер работал даже когда пользователь полностью вышел из сайта, удалил куки и все такое, тоисть таймер будет работать и отправит запрос в бд, даже если пользователя нету на сайте.
Я бы предложил поступить следующим образом:
0. Взять VPS, выделенный сервер или иную полноценную площадку, позволяющую использовать нужное ПО, а не только то, которое подготовил для нас хостер (*цены на VPS, вполне сравнимы с обычными хостингами)
1. Использовать утилиту
at
Выглядит всё примерно следующим образом:
1. Пользователь отправляет какой-то запрос на сервер
2. Сервер обрабатывает его и формирует нужную команду, которая будет запущена через N минут
3. Команда выполняется через указанное время, все счастливы
Пример того, как выполнить что-то через 5 есть
например здесь