Foros del Web » Programando para Internet » PHP »

Validación de Formularios

Estas en el tema de Validación de Formularios en el foro de PHP en Foros del Web. Hola amigos la siguiente cuestión es para saber si hay alguna función que realice la validación de un formalarios de forma automática y evitar usar ...
  #1 (permalink)  
Antiguo 25/10/2006, 06:40
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 21 años, 6 meses
Puntos: 0
Validación de Formularios

Hola amigos la siguiente cuestión es para saber si hay alguna función que realice la validación de un formalarios de forma automática y evitar usar por ejemplo un if.. para saber si los campos están vacios.

if (campo1=="" || campo2=="" campo3==""...){
//Lanzar mensaje de error...
}

El motivo de la cuestión es debido a que si el formulario tiene muchos campos sería un poco tedioso tener que poner en el if todos los campos.

Gracias de antemano.
  #2 (permalink)  
Antiguo 25/10/2006, 07:06
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 9 meses
Puntos: 20
Podrías usar un bucle, por ejemplo con FOREACH()

Supongo que así está bien:

Código PHP:
foreach ($_POST as $key => $value) {
   if (empty($
$key)) {
   exit (
"Debes rellenar todos los campos");
   }
 } 
Revisa la función en www.php.net/foreach

PD: Puedes usar empty() en lugar de compararlo así valor==""
  #3 (permalink)  
Antiguo 25/10/2006, 07:38
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 8 meses
Puntos: 3
Cita:
Iniciado por david_M_G Ver Mensaje
Podrías usar un bucle, por ejemplo con FOREACH()

Código PHP:
foreach ($_POST as $key => $value) {
   if (empty($
$key)) {
   exit (
"Debes rellenar todos los campos");
   }
 } 
He intentado usar el trozo de código que has puesto y no me deja enviar el formulario aunque haya rellenado todos los campos. Mi formulario tiene checkbox y listas desplegables, puede tener algo que ver?
  #4 (permalink)  
Antiguo 25/10/2006, 08:00
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 9 meses
Puntos: 20
No, nada que ver. No importa cómo ingresa la información el usuario... las variables acaban teniendo la misma estructura.

La verdad es que yo he buscado el ejemplo de foreach en la misma página de PHP.

Podrías probar así:

Código PHP:
foreach ($_POST as $key => $value) {
   if (empty(
$key[$value])) {
   exit (
"Debes rellenar todos los campos");
   }
 } 
Aunque a lo mejor el problema proviene de haberlo colocado en el sitio incorrecto.
  #5 (permalink)  
Antiguo 25/10/2006, 10:52
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 8 meses
Puntos: 3
Te he respondido en el otro post, jeje, por fin lo solucioné! Al final hasta aprendo php. Gracias por responderme ;)
  #6 (permalink)  
Antiguo 25/10/2006, 17:17
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 21 años, 6 meses
Puntos: 0
Gracias David!
  #7 (permalink)  
Antiguo 26/10/2006, 06:26
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 21 años, 6 meses
Puntos: 0
Siguiendo con la validación de formularios me surgió otra duda y es la siguiente: Si en el formulario hay checkbox de los cuales solo puedes elegir una de entre opciones, el código anterior no sería válido pues me daría un error en los checkbox que no estuviesen marcados, verdad? En ese caso debería de usar los if obligatoriamente o hay otra opción. Gracías y espero no os molestes tanto sobre este tema.
  #8 (permalink)  
Antiguo 26/10/2006, 06:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por NTrance Ver Mensaje
Siguiendo con la validación de formularios me surgió otra duda y es la siguiente: Si en el formulario hay checkbox de los cuales solo puedes elegir una de entre opciones, el código anterior no sería válido pues me daría un error en los checkbox que no estuviesen marcados, verdad? En ese caso debería de usar los if obligatoriamente o hay otra opción. Gracías y espero no os molestes tanto sobre este tema.
Para eso .. no uses "checbox" usa "botones tipo radio" .. Colca el mismo nombre a los "radio" y sólo será seleccionada una de las opcines .. El tratamiento será como cualquier otro "input" como un <select> .. o similar. Sólo PHP recibirá un valor.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 26/10/2006, 12:44
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 21 años, 6 meses
Puntos: 0
Gracias Cluster voy a probar y ya os cuento. :)
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 21:48.