Tips en PHP: Validar si una variable $_POST está vacía
Supongamos que queremos validar si están vacíos los datos que viajan mediante un formulario mediante el método $_POST.
Se hace bastante denso hacer esto por cada parámetro
if (empty($_POST["nombre"]))
{
echo "El nombre esta vacío.:.";
}
if (empty($_POST["apellido"]))
{
echo "El apellido esta vacío.:.";
}
Y así con todos los parámetros que queremos validar…
Para eso podemos hacer esto…
foreach ($_POST as $key => $value)
{
if (empty($value))
{
echo "<strong>El campo $key esta vacío.:.</strong>";
break;
}
}
Con esto lo que hacemos es recorrer todas las variables POST, y al encontrar una vacía salimos del bucle y mostramos el error.
Pero si tengo datos que quiero que sean vacíos???
foreach ($_POST as $key => $value)
{
if ($key<>'actividad' AND $key<>'cuil' AND $key<>'razon' AND $key<>'producto')
{
if (empty($value))
{
echo "<strong>El campo $key esta vacío.:.</strong>";
break;
}
}
}
En esta caso actividad, cuil, razon y producto pueden estar vacios, por lo tanto eluden la condición empty.
Bueno espero que les sirva a la hora de programar en PHP.
Saludos
Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.















Excelente tip amigo. Muchas gracias por tu trabajo
Gracias a ti amigo por comentar…
Buen aporte hermano. Me sirvió de mucho para mi pagina. Muchas gracias por tu tiempo.
Gracias por comentar Javier, me alegro que te haya servido….
Hola, este post me sirvio para reducir considerablemente las lineas de mi script php.
Ahora ¿Hay una forma de que muestre de una sola vez todos los campos que faltan?
Elemplo:
Faltan los campos: Nombre, Apellido, Edad, Etc…
Gracias por la publicación..
Proba con esto…
$flag = false; foreach ($_POST as $key => $value) { if (empty($value)) { if($flag) { echo " <strong>, $key</strong>"; } else { echo "<strong>Faltan los campos: $key</strong>"; } } }Gracias por comentar…
1.- cual es la utilidad de flag
2.- si vas a comprobar tantos campos que si pueden estar vacios, ponlos en un array $okvacios y luego usa un if(!in_arry($key,$okvacios))
3.- muchas otras cosas que he visto en tu seccion de php estan en serio buenas
@FCR
Tienes toda la razón, puedes usar in_array y sin duda sera mas eficiente. Las entradas de PHP en el blog son de código que hago y comparto con ustedes, y va mejorando a medida que vaya aprendiendo.
Esta entrada es de mas de un año ya, pero me alegro que te haya servido.
Saludos, y gracias por comentar…
Nunca veo la fecha en las entradas(solo veo los comentarios por si otra entrada del blog hace referencia a esta)
Vacan pero tengo otro problema, quiero validar mis post, quiero que siempre mis entradas aparescan siempre una debajo de otra, por que tengo el problema que si la foto es grande o algunas no tiene texto se deforman y no bajan, haber si me ayudan, quiero q todos mis post esten correctamente aliniados.
Hola, me podrás explicar que funcion cumple cada uno de los parametros siguientes ($key, $value) en el ciclo foreach? Mil gracias! Espero tu respuesta en pearljamero@msn.com:
foreach ($_POST as $key => $value)
Hola master, mira acá http://php.net/manual/es/control-structures.foreach.php
Se te agradece enormemente el aporte…