Foros del Web » Programando para Internet » PHP »

Validación de correos en bd

Estas en el tema de Validación de correos en bd en el foro de PHP en Foros del Web. Hola, buenas tardes!! Tengo un problema con un código, el cuál no he encontrado porque no funciona bien. Les explico: Básicamente es un boletín, pero ...
  #1 (permalink)  
Antiguo 29/07/2013, 11:40
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Validación de correos en bd

Hola, buenas tardes!!

Tengo un problema con un código, el cuál no he encontrado porque no funciona bien. Les explico: Básicamente es un boletín, pero quiero que al enviar la información el usuario, se haga una validación para saber si su correo ya existe o no. Si existe, le enviará un mensaje diciendo que ya existe, sino existe se guardará en la base de datos y le enviará otro mensaje.

Este es el código que estoy usando:

Código PHP:
if(isset($_POST['enviar'])){
        
    
// Buscamos que no exista el correo
    
$sqlSelectBoletin mysql_query("Select correo from arellano_boletin Where correo = '$_POST[email]'");
    
$rowSelectBoletin = @mysql_fetch_array($sqlSelectBoletin);
    
$email $rowSelectBoletin['correo'];
        
    
$vemail = (string)$email;     
        
    
// Hacemos la validación del correo
    
switch($vemail) {
        case (
$vemail != $_POST['email']):
            
$dateActualy date("Y-m-d"); 
            
$sqlInsertBoletin mysql_query("Insert into arellano_boletin(usuario, correo, alta, ultimo, video, bandera) Values ('$_POST[usuario]', '$_POST[email]', '$dateActualy', '$dateActualy', '1.jpg', 1)");
            
            
$mensaje 'Has quedado registrado en nuestro boletín!';
        break;
        case (
$vemail == $_POST['email']):
                        
$mensaje 'Ya existe una cuenta con ese correo. Por favor intenta con uno distinto.';
        break;
     }
            

Ahora, el problema es que, si el correo no existe, o si la base de datos está vacía, me manda al case 2 siempre. Por lo tanto, no lo da de alta nunca.

Ya comprobé con var_dump que es lo que envía, lo cuál es correcto pero nunca me da de alta el nuevo registro a la base de datos.

¿Alguien sabe en que me estoy equivocando? De antemano gracias por sus comentarios.

Saludos!
  #2 (permalink)  
Antiguo 29/07/2013, 12:42
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 5 meses
Puntos: 36
Respuesta: Validación de correos en bd

Te estás complicando mucho, es una validación básica solo con dos opciones, no hace falta un switch, puedes usar un if

Código PHP:
Ver original
  1. if(isset($_POST['enviar'])){
  2.        
  3.     // Buscamos que no exista el correo
  4.     $sqlSelectBoletin = mysql_query("Select correo from arellano_boletin Where correo = '$_POST[email]'");
  5.  
  6. $filas = mysql_num_rows($sqlSelectBoletin);
  7. if($filas>0){
  8.  //Existen registros del mail
  9. }else{
  10. //No existen registros del mail
  11. }
  12.  
  13. ?>

Saludos
  #3 (permalink)  
Antiguo 29/07/2013, 12:50
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Validación de correos en bd

Tienes razón, a veces me complico de más :/

Gracias por la ayuda!! ^^

Etiquetas: bd, correos, mysql, registro, select, sql
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 01:47.