Это скорее проверка на стороне клиента.
Мы привыкли предлагать пользователям список месяцев и дней.
Проверьте его перед отправкой формы.
Магазинэто в таблице в виде одного строкового столбца, который индексируется.
Каждый день, задание cron, сканирует все действительные записи, выпадающие в виде сегодняшней комбинации день / месяц, и отправляет приветствия в свой почтовый ящик в соответствии с типом случая, например(Годовщина или день рождения) и т. Д.