предположим что дата рождения у нас вида
01/01/2014
тут всё от формата зависит.
Допустим дату выводим так:
$dateh=$user['day'].'/'.$user['mes'].'/'.$user['year']; // это наша дата рождения.
Создаем базу
CREATE TABLE IF NOT EXISTS `datehappy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`year` int(11) DEFAULT 0,
`id_user` int(11) DEFAULT 0,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
AUTO_INCREMENT=1;
сюда будем заносить данные о получении подарка.
Код в шапку сайта
<?php
$year=intval(date("Y")); // на всякий случай проверим и обработаем только цифры
$happy=mysql_fetch_array(mysql_query("SELECT * FROM `datehappy` WHERE `id_user` = '$user[id]' AND `year` = '$year'")); // ищем данные о подарке за текущий год
if(date("d/m/Y")==$dateh && !$happy['id'])
{ // это условие говорит: если сегодня день рождения и в этом году подарок не получен, то выполняем код
mysql_query("UPDATE `users` SET `ball` = `ball` + '1000' WHERE `id` = '$user[id]'");
// вот тут работает ваша фантазия и возможности вашего движка:) это код выдачи подарка.
mysql_query("INSERT INTO `datehappy` SET `id_user` = '$user[id]', `year` = '$year'");
// этот запрос записывает что я получил подарок в этом году.
}
// если будут вопросы, пишите в почту;)
?>