upd: Наверное нужно пояснение: Пишешь консольный скрипт с бесконечным циклом который проверяет БД и сравнивает время наступление события с текущим. Если совпадают, то выполняешь. И запускаешь этот скрипт в консоли php /path/to/script/file.php
Забавный вопрос:
Сначала Вы всё равно будете говнокодить! Потом перестанете и станете перфекционистом! А потом всё равно СНОВА станете говнокодить, ну либо будете срывать сроки. :)))
В переменной $routesPath содержится имя файла (видимо) с массивом маршрутов. Фактически это присвоение значение переменной, содержимое которой содержится в отдельном файле.
1. func::clear($_SESSION['user'],'int'); замени на func->clear($_SESSION['user'],'int');
2. Не используй устаревшего mysql_real_escape_string()
upd.
Вообще уже давно пора отказываться от использования mysql_* и пользаваться mysqli