Прежде чем проверять пусто или нет, нужно удалить крайние пробелы, а если поля пустые не нужны, значит их нужно удалить из массива:
if($data = array_diff(array_map('trim', $_POST), array(''))) {
//$data содержит все не пустые поля формы
//но для чего эти даты, чтобы отправить их почтой и все,
//этакий спам самому себе?
//наверное же надо проверять что прислали именно даты,
//и не просто даты, а корректные даты
//или это по боку?
} else //иначе все поля пустые