¿Cómo requerir uno de los tres campos de un formulario?

  • Autor Autor FacundoGQR
  • Fecha de inicio Fecha de inicio
F

FacundoGQR

Beta
Verificación en dos pasos activada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas!!, por aquí con un duda con un código.

Tengo los siguientes campos en un formulario:
- titulo
- ciudad
- descripcion
- imagen1
- imagen2
- imagen3

Lo que necesito hacer es que si se completan los campos título, ciudad, descripción y algunos de los restantes (imagen, imagen2 o imagen3) se ejecute un echo.
Lo que se me ocurre es:
PHP:
if(!empty($titulo) && ($ciudad) && ($descripcion) && ($_FILES['imagen']) || ($_FILES['imagen2']) || ($_FILES['imagen3'])){								
echo "Texto a mostrar";
}

Quisiera saber si esa manera es la correcta o existe alguna otra. 🙂
 
Primero que todo deberás poner empty a todas las variables, luego deja un único $_FILES y utiliza un array en el campo de imagen. Por ejemplo en el name del input llámalos a todos imagen[] y así solo compruebas si está o no vacío el array, puedes usar foreach para recorrer el array y obtener los archivos. También si deseas que solo suban 3 puedes utilizar count en el array y contar cuantos archivos han subido. :encouragement:
 
Primero que todo deberás poner empty a todas las variables, luego deja un único $_FILES y utiliza un array en el campo de imagen. Por ejemplo en el name del input llámalos a todos imagen[] y así solo compruebas si está o no vacío el array, puedes usar foreach para recorrer el array y obtener los archivos. También si deseas que solo suban 3 puedes utilizar count en el array y contar cuantos archivos han subido. :encouragement:

¡Muchas gracias!, ya se me despertaron las ideas jajaja :encouragement:
 
Debes de usar en tu html la palabra required
Ejemplo:
HTML:
<input type="ciudad" name="ciudad" placeholder="Ciudad" required />

en php usas:
PHP:
if(!empty($titulo) || !empty($ciudad) && !empty($descripcion) || !empty($_FILES['imagen']) || !empty($_FILES['imagen2']) || !empty($_FILES['imagen3'])){                                 
echo "Todos los campos fueron rellenados"; 
}else{
echo "No puede dejar ningun campo sin rellenar, por favor verifique que ingreso la informacion requerida en los campos requeridos";
}

Dime si te funciono
 
Debes de usar en tu html la palabra required
Ejemplo:
HTML:
<input type="ciudad" name="ciudad" placeholder="Ciudad" required />

en php usas:
PHP:
if(!empty($titulo) || !empty($ciudad) && !empty($descripcion) || !empty($_FILES['imagen']) || !empty($_FILES['imagen2']) || !empty($_FILES['imagen3'])){                                 
echo "Todos los campos fueron rellenados"; 
}else{
echo "No puede dejar ningun campo sin rellenar, por favor verifique que ingreso la informacion requerida en los campos requeridos";
}

Dime si te funciono

¡¡Gracias!!, tendré en cuenta el código PHP.
required prefiero no utilizarlo ya que es más fácil de vulnerar.
 
Primero que todo deberás poner empty a todas las variables, luego deja un único $_FILES y utiliza un array en el campo de imagen. Por ejemplo en el name del input llámalos a todos imagen[] y así solo compruebas si está o no vacío el array, puedes usar foreach para recorrer el array y obtener los archivos. También si deseas que solo suban 3 puedes utilizar count en el array y contar cuantos archivos han subido. :encouragement:

No es así, se nota que no sabes de programación. Y eso que te doy clases todos los días :encouragement:
 
¡¡Gracias!!, tendré en cuenta el código PHP.
required prefiero no utilizarlo ya que es más fácil de vulnerar.
Me alegra que lo haya tomado en cuenta, Si le a gustado, me regala un un Me Agrada, el require es solamente para el diseño Front-End y el !empty es para el back-end.

Siempre a la orden.
 
Me alegra que lo haya tomado en cuenta, Si le a gustado, me regala un un Me Agrada, el require es solamente para el diseño Front-End y el !empty es para el back-end.

Siempre a la orden.

Código funcionando. :encouragement: Ahí le regalé su Me Agrada. :witless:
 
Atrás
Arriba