Записываем в поле MySQL типа DATE дату 2009-06-04 - всё ок, пытаемся поставить 13 месяц 2009-13-04 - записывается 0000-00-00 значит проверить дату на валидность надо перед занесением в БД.
Вопрос: чем?
Есть готовые качественные, т.е. что бы валидатор знал в какие конкретно года может быть 29 февраля например ну и допустимое количество дней в каждом месяце.
Что-то я не понял фишки checkdate() ввожу вручную:
var_dump(checkdate(12,20,2009)); //true
Принимаю из формы
echo $_POST['date'];
var_dump(checkdate($_POST['date']));
Отображает: 12,20,2009
Warning: checkdate() expects exactly 3 parameters, 1 given in...
bool(false)