Foros del Web » Programando para Internet » PHP »

Comparar campo vacio

Estas en el tema de Comparar campo vacio en el foro de PHP en Foros del Web. Hola muy buenas Tengo un problemilla en el código abajo. El caso es que tengo un formulario con 3 campos. Yo lo que quiero es ...
  #1 (permalink)  
Antiguo 13/06/2012, 05:30
 
Fecha de Ingreso: mayo-2012
Mensajes: 23
Antigüedad: 12 años
Puntos: 1
Pregunta Comparar campo vacio

Hola muy buenas

Tengo un problemilla en el código abajo.
El caso es que tengo un formulario con 3 campos.
Yo lo que quiero es que si hay un campo vacio, o los 3 o uno de ellos que
me salga un error sino que siga el código...
Código PHP:
$usuario=$_POST['usuario'];
$contrasena=$_POST['contrasena'];
$anterior=$_POST['anterior'];
if (isset(
$usuario) && isset($contrasena) && isset($anterior)){
    if (empty(
$usuario) && empty($contrasena) && empty($anterior)){
        echo 
"<center><h1>Hay campos sin rellenar</h1></center><br>";
    }elseif (
$contrasena != $anterior){
    echo 
"<center><h1>Contraseña no coincide con la confirmación</h1></center><br>";
}else{ 
//aqui va el codigo para conectar a la base de datos... 
  #2 (permalink)  
Antiguo 13/06/2012, 05:53
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Comparar campo vacio

Código PHP:
$usuario=$_POST['usuario']; 
$contrasena=$_POST['contrasena']; 
$anterior=$_POST['anterior']; 
if (
$usuario=="" or $contrasena=="" or $anterior==""){ 
    echo 
"<center><h1>Hay campos sin rellenar</h1></center><br>"
    } elseif (
$contrasena != $anterior){ 
    echo 
"<center><h1>Contraseña no coincide con la confirmación</h1></center><br>"
}else{ 
//aqui va el codigo para conectar a la base de datos... 
saludos.
  #3 (permalink)  
Antiguo 13/06/2012, 05:55
 
Fecha de Ingreso: mayo-2012
Mensajes: 23
Antigüedad: 12 años
Puntos: 1
Respuesta: Comparar campo vacio

Gracias
Cambié los && por or y solucionado.
  #4 (permalink)  
Antiguo 13/06/2012, 05:55
 
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 12
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Comparar campo vacio

Hola alfadaemon,
en el código que has pegado utilizas AND en los if y deberías usar OR, en tu caso solo saldrá el error si los 3 campos de textos están vacíos

Cambia && por ||

Código:
$usuario=$_POST['usuario']; 
$contrasena=$_POST['contrasena']; 
$anterior=$_POST['anterior']; 
if (isset($usuario) && isset($contrasena) && isset($anterior)){ 
    if (empty($usuario) || empty($contrasena) || empty($anterior)){ 
        echo "<center><h1>Hay campos sin rellenar</h1></center><br>"; 
    }
    elseif ($contrasena != $anterior){ 
        echo "<center><h1>Contraseña no coincide con la confirmación</h1></center><br>"; 
    }
    else{
       //aqui va el codigo para conectar a la bas  e de datos...
    }
}
else{
    // Código de error por no encontrar uno de los campos seteados
} 
  #5 (permalink)  
Antiguo 13/06/2012, 06:02
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Comparar campo vacio

Cita:
if (isset($usuario) && isset($contrasena) && isset($anterior)){
esta línea es inútil. Justo acabas de darles valor.
  #6 (permalink)  
Antiguo 13/06/2012, 07:10
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Comparar campo vacio

Alfadaemon .. si bien ya le hicieron una correccion y Oscartt67 es muy atinado en sus respuesta, yo le aconsejaria que cambie los "OR" pos su equivalente "||" que es lo que aconsejan algunos Gurus de la programacion.

y tambien recomiendo mas el uso de "empty", es bueno y mas eficiente hacer uso de las funciones que nos ofrese PHP.
  #7 (permalink)  
Antiguo 13/06/2012, 07:14
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 6 meses
Puntos: 25
Respuesta: Comparar campo vacio

Cita:
Iniciado por fjrueda Ver Mensaje
Alfadaemon .. si bien ya le hicieron una correccion y Oscartt67 es muy atinado en sus respuesta, yo le aconsejaria que cambie los "OR" pos su equivalente "||" que es lo que aconsejan algunos Gurus de la programacion.

y tambien recomiendo mas el uso de "empty", es bueno y mas eficiente hacer uso de las funciones que nos ofrese PHP.
tambien hay que utilizar trim() para vaciar espacios en blanco es muy practico
__________________
cada vez que aprendes algo te crees que no sabes nada

Etiquetas: formulario, vacio, usuarios, campos
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:33.