Para asegurarte de que el formulario ha sido enviado debes hacer uso de la función
isset.
if (isset ($_POST['username']) && isset ($_POST['password']) ... etc.
Eso delante de donde recoges las variables y realizas las validaciones. Recuerda cerrar ese if al final de las validaciones.
Saludos.