Como tornar obrigatório um dos três campos de um formulário?

  • Autor Autor FacundoGQR
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
F

FacundoGQR

Beta
Verificación en dos pasos activada
Usuário com poucas negociações! Use sempre o saldo do 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. 🙂
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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:
 

Tópicos similares

Voltar
Topo