Hola QuezTal,
Creo que el principal problema no está en la comprobación con isset o is_empty, sino en la lógica del if. Ten en cuenta que tal y como lo tienes, para que NO registre, se deben cumplir 2 condiciones:
- Que $_POST[password] esté establecida
- Y que las contraseñas sean distintas
Esto significa que, si password no está establecida o las contraseñas son iguales, el usuario se registra y esta no es la lógica que deseas. Para evitar esto, la condición debe ser de la siguiente forma:
Código PHP:
if ((!isset($_POST[password])) || ($_POST[password]!=$_POST[repassword])) {
echo "Las contraseñas no coinciden y el usuario no se registra :-)";
}else{
echo "Si coinciden";
// Introducir el código de registro...
}
De esta forma, el usuario no se registrará si ocurre alguna de las 2 condiciones:
- Si el campo password no esté establecido
- O si las contraseñas son distintas.
Pruébalo y nos cuentas.
Salu2,
Carlos.