Foros del Web » Programando para Internet » PHP »

¿Dónde Esta Mi Error En La Validación?

Estas en el tema de ¿Dónde Esta Mi Error En La Validación? en el foro de PHP en Foros del Web. Hola amigos espero que todos este muy bien. Tengo el siguiente problema: Resulta que estoy aprendiendo sobre Ingreso de Registros a una Base de Datos ...
  #1 (permalink)  
Antiguo 01/12/2008, 23:34
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 15 años, 5 meses
Puntos: 0
¿Dónde Esta Mi Error En La Validación?

Hola amigos espero que todos este muy bien.

Tengo el siguiente problema:

Resulta que estoy aprendiendo sobre Ingreso de Registros a una Base de Datos MySQL y para ello diseñe un formulario con los campos como NOMBRE, EMAIL,USUARIO,CONTRASEÑA,CONFIRMAR CONTRASEÑA. A dicho formulario lo estoy validando, que todos los campos esten llenos, que las contraseñas coincidan,que el usuario no exista ya en la base de datos y hasta ahí todo me ha estado funcionando perfectamente (codigo en letra negra) ya que me valida todo eso y pues si no hay inconvenientes me inserta los registros en la base de datos.

El problema que tengo es que ahora quiero que cuando ingresen un email no deje registrar el usuario si ya existe el mail en la base de datos. Cuando ingreso el código correspondiente (Lo que esta en rojo) me empieza mostrar error, entonces no se si tengo mala la sentencia SQL o algo en el código, o tal vez el error esta en la ubicacion de la setencia y no la estoy haciendo bien o poniendola en el lugar incorrecto.

Si alguien me puede ayudar a corregir mi error se lo agradeceria, lo he intentado de varias maneras y me ha sido imposible, yo creo que este último codigo lo estoy anidando mal. GRACIAS POR SU VALIOSAS COLABORACIONES.


<?php

include("conexion.php");

//Captura los campos del formulario y los almacena en variables

$nombre = $_POST['nombre'];
$email = $_POST['email'];
$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
$contrasena2 = $_POST['contrasena2'];
$nivel = $_POST['nivel'];

// Verifica si hay campos del formulario en blanco
if($nombre==NULL|$email==NULL|$usuario==NULL|$cont rasena==NULL|$contrasena2==NULL|$nivel==NULL)
{
echo "<div align='center'><font color='red'><h3>Debes completar todos los campos del formulario</h3></font></div>";
}


else{ //Inicio Primer ELSE
//Comprueba si las contraseñas son iguales
if($contrasena!=$contrasena2)
{
echo "<div align='center'><font color='red'><h3>Las contraseñas no coinciden</h3></font></div>";
}

else{ //Inicio Segundo ELSE
//Comprueba si el valor ingresado en el campo usuario del formulario está en la base de datos
$verificar_usuario = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$usuario'");
$usuario_existente = mysql_num_rows($verificar_usuario);
//Comrueba si el email ya aparece registrado en la Base de Datos
$verificar_email = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_existente = mysql_num_rows($verificar_email);
if ($usuario_existente>0) {
echo "<div align='center'><font color='red'><h3>El nombre de usuario ya existe, no está disponible, elige otro.</h3></font></div>";
}

else{ //Inicio Tercer ELSE
$nuevo_usuario = "INSERT INTO usuarios (nombre, email, usuario, contrasena, contrasena2, nivel) VALUES('$nombre','$email','$usuario', '$contrasena', '$contrasena2', '$nivel')";
mysql_query($nuevo_usuario) or die("No pudo realizarse el registro, inténtelo nuevamente");
//Muestra los datos del formulario en pantalla


else{ //Inicio Cuarto ELSE


if ($email_existente>0) {
echo "<div align='center'><font color='red'><h3>El email ya existe, debes ingresar otro.</h3></font></div>";
}
else{
$nuevo_usuario = "INSERT INTO usuarios (nombre, email, usuario, contrasena, contrasena2, nivel) VALUES('$nombre','$email','$usuario', '$contrasena', '$contrasena2', '$nivel')";
mysql_query($nuevo_usuario) or die("No pudo realizarse el registro, inténtelo nuevamente");
}


}

} //Fin Cuarto ELSE

} //Fin Tercer ELSE
} //Fin Segundo ELSE
} //Fin Primer ELSE


?>
  #2 (permalink)  
Antiguo 02/12/2008, 03:05
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: ¿Dónde Esta Mi Error En La Validación?

Un if solo puede tener un else. Ese else{ //Inicio Cuarto ELSE no corresponde a ningun if anterior. Creo que te sobra abrir y cerrar ese cuarto else.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:57.