Foros del Web » Programando para Internet » PHP »

if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

Estas en el tema de if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="") en el foro de PHP en Foros del Web. if ($_POST["user"]=="") { echo "UNO O MAS CAMPOS ESTAN VACIOS POR FAVOR VERIFICA"; } else {....} como se ponen mas campos vara verificarlos todos de ...
  #1 (permalink)  
Antiguo 23/04/2009, 00:21
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

if ($_POST["user"]=="")
{
echo "UNO O MAS CAMPOS ESTAN VACIOS POR FAVOR VERIFICA";
}
else {....}

como se ponen mas campos vara verificarlos todos de una vez que no esten vacios ?
  #2 (permalink)  
Antiguo 23/04/2009, 00:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

Puedes hacer un foreach:
Código PHP:
Ver original
  1. foreach ($_POST as $key => $value) {
  2.     if (empty($value)) {
  3.         // El campo $key está vacío
  4.     }
  5. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 23/04/2009, 02:15
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

DAVID me puedes poner un ejemplo igual pero usando 2 o 3 variables y solo una, ya intenté de varias formas me da errores.
  #4 (permalink)  
Antiguo 23/04/2009, 02:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

No entendí muy bien tu pregunta, ¿qué quieres decir con 2 o 3 variables y sólo una? Tal vez si veo cómo lo has intentado me haga una idea de qué se trata.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 23/04/2009, 02:31
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

Gracias DAVID , explico, lo que necesito es lo siguiente : tengo un form con unos 20 campos , y quiero q si uno esta vacío , mandé un msj que diga, UNO O MAS CAMPOS ESTAN VACÍOS POR FAVOR VERIFICA, y si estan todos llenos q deje correr todo el código, espero hacerme explicado. Gracias x tu ayuda DAVID.
  #6 (permalink)  
Antiguo 23/04/2009, 02:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

En ese caso debería servir el foreach() que te indiqué el mensaje anterior.

¿Cómo trataste de implementarlo? ¿Qué fue lo que falló?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 23/04/2009, 02:43
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

Nota: $_POST es un array, antes de pedir inténtalo, pruébalo, entiéndelo .
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 23/04/2009, 03:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 105
Antigüedad: 15 años
Puntos: 0
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

yo lo haria con un bucle y con el nombre de los campos del form de manera que quedara asi

campo1
campo2
campo3
etc etc


//pseudocodigo
ncampos=20;
campos=newArray();
recogemos los datos de lso campos y los guardamos en array
for(i=1,i<=ncampos,i++){
campos[i]=$POST['campo'+i];
if(campos[i]==""){
echo 'no puedes dejar campos en blanco'
break;
}
}

espero te ayude
  #9 (permalink)  
Antiguo 23/04/2009, 03:32
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 15 años, 2 meses
Puntos: 13
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

yo lo hago así

Cita:
if ($_POST['username'] && $_POST['enviar'] && ....) {
balblablablalbl}
else{ echo "verifica";}
:S

xD
  #10 (permalink)  
Antiguo 23/04/2009, 04:12
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

la verdad gracias por la informacion pero no entiendo el uso de foreach,

ok, si $_POST es un array como le meto todos los campos ??

asi : $_POST["user", "pass","nombre"];


foreach ($_POST as $key => $value) {
* * if (empty($value)) {
* * * * // El campo $key está vacío
* * }
}


si alguien me puede explicar se lo agradeceria , la verdad no entiendo.
  #11 (permalink)  
Antiguo 23/04/2009, 04:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

En $_POST en sí ya tienes todos los datos que recibiste del formulario.

Con el foreach() lo que haces es recorrer todos los campos:
Código php:
Ver original
  1. foreach ($_POST as $key => $value) {
  2.     if (empty($value)) {
  3.         // Si entra aquí, significa que uno de los campos está vacío. Específicamente, el campo $key
  4.     }
  5. }
Véase: http://www.php.net/foreach
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 23/04/2009, 04:25
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

esta seria la forma correcta con el mensaje :

foreach ($_POST as $key => $value) {
    if (empty($value)) {
        echo "UNO O MAS CAMPOS ESTAN VACIOS POR FAVOR VERIFICA";
    }
}
  #13 (permalink)  
Antiguo 23/04/2009, 04:28
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

Sí, así debería funcionar. Prueba y nos cuentas. Además, para que no muestre el mensaje repetidas veces en caso de que haya más de un campo vacío puedes usar break;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 23/04/2009, 04:31
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

Me da error en la 77

Parse error: syntax error, unexpected T_STRING in /home/XXXXX/public_html/XXXX.php on line 77

Código PHP:
76. foreach ($_POST as $key => $value) {
77.  if (empty($value)) {
78. echo "UNO O MAS CAMPOS ESTAN VACIOS POR FAVOR VERIFICA";
 }

  #15 (permalink)  
Antiguo 23/04/2009, 06:48
 
Fecha de Ingreso: abril-2009
Ubicación: Cuba
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

jival

Ahora te explico
Tu lo que quieres es llenar la variable $_POST, pero eso no se llena con código PHP, eso se llena en el HTML, de forma automática.
Supon que tienes dos archivos, uno que se llama formulario.php que contiene el formulario y tienes otra pagina que se llama revisardatos.php.
En el formulario.php tienes que hacer con código HTML un formulario, donde el method sea POST y el action vaya hacia revisardatos.php , y al final de formulario un input tipo submit,. Te quedaría algo como esto:

Archivo formulario.php
Código HTML:
 <form action="revisardatos.php" method="post" name="form1">
<input  type="text" name="nombre" />
<input  type="text" name="apellidos" />
<select type="select" name="area">
<option >Seleccione el área</option>
<option value="1">Area 1</option>
<option value="2">Area 2</option>
<option value="3">Area 3</option>
</select>
<input  type="submit" name="enviar"  value="Enviar datos"/>
</form> 
Entonces al dar click en el boton Enviar Datos, se pasan todas las variables del formulario por POST para revisardatos.php en la variable $_POST.

Y entonces en el revisardatos.php te quedaría el siguiente código.
Código PHP:
<?PHP
// pregunto si la variable [B]$_POST['enviar'][/B] existe, quiere decir que se llegó a esa 
// pagina a partir de dar click en el boton con nombre [B]enviar[/B]. [B]isset[/B] te devuelve
// true si la varibal está definida, y false si no está definida, en elc aso de los input tipo text, select, 
// textarea, es decir todos los de entrada de datos, si están vacios, pues simplemente no te define la 
//variable en el $_POST  y si te devuelve false quiere decir que están vacías.
if (isset($_POST["enviar"])) {
//Entonces aquí puedes usar las variantes que te han dado arriba, 
//ya sea variable por variable, o mediante el foreach para recorrer 
//al arreglo $_POST
//Ejemplo para ver todos los campos, no con un arreglo, si no uno por uno, variable por variable en este caso sería.
if (!isset($_POST["nombre"])) {
echo 
"Campo nombre vacío";
}

if (!isset(
$_POST["apellidos"])) {
echo 
"Campo apellidos vacío";
}

if (!isset(
$_POST["area"])) {
echo 
"Debe seleccionar un area";
}

}
else
{
echo 
"No se entró desde la pagina formulario.php dando click en el boton enviar";
}
?>
Espero que esto te ayude, y sea lo que necesitas.

Saludos.

Última edición por Ash_AM; 23/04/2009 a las 06:58
  #16 (permalink)  
Antiguo 23/04/2009, 07:05
Avatar de jival  
Fecha de Ingreso: noviembre-2007
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

Muchas gracias Ash_AM es justo lo que necesitaba validar los campos, investigando un poco y en base a la recomendacion de David el Grande lo logre hacer asi :

foreach($_POST as $campos){
if(empty($campos)){
echo "UNO O MAS CAMPOS DEL PERFIL NO ESTAN LLENOS PORFVOR VERIFICA";
exit();}}

y ese codigo que me propones me parece muy bien puesto que puedo identificar precisamente cual esta vacio, muchas por tu consejo y tu tiempo amigo Dios te bendiga.
  #17 (permalink)  
Antiguo 23/04/2009, 08:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

Con el foreach() también puedes saber cuál es el campo vacío:
Código php:
Ver original
  1. foreach($_POST as $key => $campos){
  2.     if(empty($campos)){
  3.         echo "El campo $key está vacío";
  4.         exit();
  5.     }
  6. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 23/04/2009, 08:30
 
Fecha de Ingreso: abril-2009
Ubicación: Cuba
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: if ($_POST["COMO PONGO VARIOS CAMPOS AQUI"]=="")

David el Grande.
Esa forma que dices es la más correcta, incluso es mucho más rápido.

Pero bueno, lo que intenté hacerlo más explicito para que jival pudiera darse cuenta mejor.

gracias por la aclaración.

Saludos.

Última edición por Ash_AM; 23/04/2009 a las 08:41
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 14:46.