Ver Mensaje Individual
  #7 (permalink)  
Antiguo 31/03/2015, 12:44
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 7 meses
Puntos: 5
Respuesta: Evitar duplicidad de email y password mediante php

Bueno, gracias a todos por ayudarme a ver el camino correcto.

Lo consegui, ya funciona miren este es el codigo:

Código PHP:
Ver original
  1. public function SeleccionarDatosSegunEmail($nombre_tabla, $array_datos, $email)
  2.            
  3.                 {  
  4.                     $con = $this->ConectarBbdd();                  
  5.                                
  6.                     $sql = "SELECT * FROM " . $nombre_tabla . " WHERE email='$email' ";
  7.            
  8.                     $res = mysqli_query($con,$sql) or die ('Lo siento pero no selecciona los datos' . mysqli_error($con));
  9.                      
  10.                      
  11.                      
  12.                     if (mysqli_num_rows($res) == 0)
  13.                    
  14.                       {
  15.                             $segundasql = "INSERT INTO " . $nombre_tabla . " (";
  16.                             $segundasql .= implode(', ', array_keys($array_datos));
  17.                             $segundasql .= ") VALUES('". implode("', '", $array_datos)."') ";
  18.                                                
  19.  
  20.                             $res = mysqli_query($con,$segundasql) or die ('Lo siento pero no selecciona los datos' .
  21.                             mysqli_error($con));                           
  22.  
  23.  
  24.                             header("Location:formulario_registrate.php?mensaje_registro_usuario=registrado_correctamente");                                             }
  25.                      
  26.                       else
  27.                      
  28.                         {
  29.                            header("Location:formulario_registrate.php?tipo_error_registro_usuario=email_existente");     
  30.                         }
  31.  
  32.                 }

Solo me queda una ultima cosa que no me funciona, veran el mensaje ultimo , cuando

dice "email existente", si se muestra cuando existe el email en la base de datos.

pero el mensaje de "registrado correctamente", no se muestra cuando el email no existe en la bbdd y se inserta.


A que puede ser debido¿?

los mensajes de error vienen espificados en otra pagina asi:

Código PHP:
Ver original
  1. if(isset($_GET['tipo_error_registro_usuario']))
  2.            
  3.                 {
  4.                     switch($_GET['tipo_error_registro_usuario'])
  5.                    
  6.                         {
  7.                             case 'email_existente':
  8.                                                 echo "El email introducido pertenece a otro usuario ya registrado.";
  9.                                                 break;
  10.                        
  11.                        
  12.                             case 'passwords_diferentes':
  13.                                                 echo "Los dos passwords deben ser iguales.";
  14.                                                 break;                                                                                                             
  15.                     }
  16.                    
  17.                 }
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.             if(isset($_GET['mensaje_registro_usuario']))
  25.            
  26.                 {
  27.                     switch($_GET['mensaje_registro_usuario'])
  28.                    
  29.                         {
  30.                             case 'registrado_correctamente':
  31.                                                 echo "Ha sido registrado correctamente.";
  32.                                                 break;                                                                                                         
  33.                     }
  34.                    
  35.                 }