
Lo primero que veo en el código es que estas usando
isset($_POST) y
!empty($_POST), estas comprobaciones las puedes eliminar ya que envíes o no envíes datos por post siempre son verdaderas. En su lugar yo pondría $_POST != null
El código te falla porque la lógica que estás aplicando, a no ser que sea esa tu intención, es errónea.
Tu lógica es la siguiente:
Compruebo si se ha enviado el formuario desde http://localhost/zulo/alta_usuario.phpSi se ha enviado el formulario: Compruebo los datos enviados y muestro error en el caso de que no sean correctos
Sino: Inserto datos en la base datos
Si realizamos una pequeña traza mental de lo que ocurre al enviar los datos, nunca va a insertar los datos en la base de datos ya que en el else sólo entra cuando no se han enviado datos por post, entonces la variable $_POST["form1"] nunca va a estar asignada, por lo tanto no se insertarán los datos .