Tiene que funcionar, puesto que a mi me funcionó.
Una pregunta, en el campo password de tu base de datos, ¿como tienes almacenada la contraseña?
Fijate bien, pués a mi en un principio no me funcionaba porque en el campo password la contraseña la tenia almacenada así: 123456 y cuando yo enviaba la contraseña desde el formulario, me decía que el login era incorrecto ya que por un lado estaba enviando la contreseña cifrada en MD5, cuando en la base de datos no la tenia en md5.
Fijate bien en eso. Ya te digo, debe de funcionar.
El alert que hay al final tambien controla al usuario... Haz lo que te he comentado y cuando te funcione, verás que si lo controla...
Sobre lo de header me refiero a que cuando tu haces esto:
header("Location:main.php");
No puede haber ningún código ni espacio, antes de eso, de lo contrario te mostrara un error. Para que no te muestre ningún error, le he puesto el
@.
Saludos,