No esta mal, solo que debería saber si la fecha realmente es valida, y me refiero a que no meta un 20-20-0001.
Tenes nativa de php la función checkdate (
http://php.net/checkdate ), deberías mediante un explode/split pasarle los datos y validar con esta que afronta hasta años bisiestos.