Foros del Web » Programando para Internet » PHP »

if --- else

Estas en el tema de if --- else en el foro de PHP en Foros del Web. hola, tengo un problema con un formulario... bueno el caso es que tengo que ingresar (registrar) usuarios....ahora bien, quiero validar el Email, osea que si ...
  #1 (permalink)  
Antiguo 27/11/2003, 18:00
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
if --- else

hola, tengo un problema con un formulario... bueno el caso es que tengo que ingresar (registrar) usuarios....ahora bien, quiero validar el Email, osea que si el email ya existe en la BD pues que no se haga el insert.

pero he tratado y no me funciona...siempre me da el mensaje de que ya existe el email, pero como quiera se inserta a la BD...
ahora no estoy en casa para copiar aqui el codigo, pero va algo como esto:
Código PHP:

if (isset($_POST['Submit']))
   {
     if(
$_POST['email'] == $row['email'])
         {
            echo 
"EMAIL YA EXISTE EN LA BASE DE DATOS!!!"
          
}else
           
mysql_select_db("registro");
           
mysql_query_db("INSERT INTO tabla (nombre,email) VALUES ('$nombre','$email')",$link);
     } 
el caso es que no quiero que se inserte si ya existe el email en la BD, pero no he podido lograrlo aun

Saludos
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 27/11/2003, 18:28
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 14 años
Puntos: 0
Holas, intenta con esto

campo del email en el form= txt_email

function checkmail($txt_mail){

    $sql="Select * from TABLA"
    $query_mail = mysql_query($sql,$link);
    $getdata=mysql_fecth_array ($query_mail);
    if($txt_mail==$getdata["mail"]){
        ec ho "El E-Mail ya existe, intente otra vez";
    }else{
/*         AG REGARLO A LA BD */
    }
}
  #3 (permalink)  
Antiguo 28/11/2003, 00:21
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Sería cuestión de que pongas el code con el que obtienes el $row['email']... Lo que veo es que no estás utilizando bien la función de la consulta.. mysql_query_db() que yo sepa no existe... deberías utilizar mysql_query("insert into...", $link)... Igual debes hacer ese cambio... pero no debería ser el problema por el que te sale el mensaje de que ya existe... Postea el code que utilizas para obtener el $row['email'] de la BD...

Saludos
  #4 (permalink)  
Antiguo 28/11/2003, 02:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Usa el mysql_query() y acuerdate que si no pones { y } solo te toma la primera linea como la parte else. Tal como lo tienes haces:
Código PHP:
     if($_POST['email'] == $row['email'])
         {
            echo 
"EMAIL YA EXISTE EN LA BASE DE DATOS!!!"
          
}else {
           
mysql_select_db("registro");
          }
       
mysql_query_db("INSERT INTO tabla (nombre,email) VALUES ('$nombre','$email')",$link); 
Es decir, el insert siempre lo ejecutas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 03/12/2003, 13:39
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
oks, gracias, hare las pruebas correspondientes..

__________________
www.dataautos.com
  #6 (permalink)  
Antiguo 03/12/2003, 13:48
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
Todo script PHP se compone de una serie de sentencias. Una sentencia puede ser una asignación, una llamada a función, un bucle, una sentencia condicional e incluso una sentencia que no haga nada (una sentencia vacía). Las sentencias normalmente acaban con punto y coma. Además, las sentencias se pueden agrupar en grupos de sentencias encapsulando un grupo de sentencias con llaves. Un grupo de sentencias es también una sentencia. En este capítulo se describen los diferentes tipos de sentencias.

if
La construcción if es una de las más importantes características de muchos lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de código. PHP caracteriza una estructura if que es similar a la de C:

Código PHP:
<?php
if (expr)
    
sentencia
?>

Como se describe en la sección sobre expresiones, expr se evalúa a su valor condicional (boolean). Si expr se evalúa como TRUE, PHP ejecutará la sentencia, y si se evalúa como FALSE - la ignorará. Se puede encontrar más información sobre los valores evaluados como FALSE en la sección Convirtiendo a un valor condicional (boolean)'.

El siguiente ejemplo mostraría a es mayor que b si $a fuera mayor que $b:

Código PHP:
<?php
if ($a $b
   print 
"a es mayor que b";
?>


A menudo, se desea tener más de una sentencia ejecutada de forma condicional. Por supuesto, no hay necesidad de encerrar cada sentencia con una cláusula if. En vez de eso, se pueden agrupar varias sentencias en un grupo de sentencias. Por ejemplo, este código mostraría a es mayor que b si $a fuera mayor que $b, y entonces asignaría el valor de $a a $b:

Código PHP:
<?php
 
if ($a $b) {
     print 
"a es mayor que b";
     
$b $a;
 }
?>


Las sentencias if se pueden anidar indefinidamente dentro de otras sentencias if, lo cual proporciona una flexibilidad completa para ejecuciones condicionales en las diferentes partes de tu programa.

http://es2.php.net/manual/es/control...-structures.if

__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 03/12/2003, 14:27
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
lo he leido antes
__________________
www.dataautos.com
  #8 (permalink)  
Antiguo 03/12/2003, 18:51
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Intenta con esto:
Código PHP:
if (isset($_POST['Submit'])) {
    if (
mysql_num_rows(mysql_query("SELECT * FROM tabla WHERE email='".$_POST['email']."'")) > 0) {
        echo 
"EMAIL YA EXISTE EN LA BASE DE DATOS!!!";
    }else {
        
// Insert y todo eso
    
}

  #9 (permalink)  
Antiguo 17/12/2003, 13:01
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Bueno gracias a ALL , ya lo soluciones
Código PHP:
if (isset($_GET['Submit']))
  {
    
mysql_select_db("registro");
    
$sql mysql_query("SELECT email FROM alta WHERE email = '".$_GET['email']."'",$ConRegistro) or die (mysql_error());
    
$row mysql_fetch_array($sql);
     {
      if ( 
$_GET['email'] == $row['email']) 
          {
           echo 
"EMAIL YA EXISTE EN LA BASE DE DATOS&nbsp;&nbsp;&nbsp;" .$row['email'];
           }else{
           
$insert mysql_query ("INSERT INTO alta (nombre, email) VALUES ('".$_GET['nombre']."','".$_GET['email']."')",$ConRegistro) or die (mysql_error());
           echo 
"DATOS INSERTADOS CON EXITO!!!";
            }
         }
      } 
__________________
www.dataautos.com
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 07:22.