per il pprimo errore che vorresti gestire , quello di user e pass non inserite, non ti conviene un javascript? velocizza il tutto

per quanto riguarda l' altro mi sembrava valida l' ultima soluzione che ti è stata data