il tuo codice mi sembra corretto.
forse sarebbe meglio usare isset() anziché empty(), ma anche empty() non è sbagliato.
una cosa che noto è la tua funzione pare proprio essere il metodo di una classe
il problema forse è nella classe oppure è nellapagina che contiene il form...