Cuando un Usuario envia un formulario con datos es probable que omita llenar alguno de los campos de texto.
Para avisarle de esta situación hay varias maneras, una es con Java Script, (ver ejemplos en tabla), la otra es con PHP.
Los Scripts de PHP no se pueden colocar en cualquier parte del documento HTML pues aunque esten escritos correctamente , pueden no seguir una secuencia lógica con el resto de los elementos del HTML
Código de Validación incorrecto - Ejemplo 1
Formulario 1
".$nombre. " ".$apellido1. "";//arreglo para aparecer separado y abajo de la linea anterior
$nombreCompleto = $nombre." ".$apellido1;
$nombreCompleto .= " ".$apellido2;
echo "
Nombre: ".$nombreCompleto."
";
// Usamos el operador ternario '?'. Devuelve: "El número es menor de 86"
echo "
El número es ".(($x >= 86) ? "mayor o igual de 86" : "menor de 86" )."
";
} else if(($nombre == "") or ($apellido1 == "") or ($apellido2 == "")) {//estamos diciendo que cualquiera de ellos que este vacio
echo "
";
echo " ";echo "
Por favor colocá tu nombre o tu Apellido 1° o tu Apellido 2°
No se puedeseguir sin esos datos.
";
echo "
";
exit;
} else if (($nombre == "") and ($apellido1 == "") and ($apellido2 == "")) {
echo "
";
echo " ";echo "
Por favor colocá tu Nombre y tu tu Apellido 1° y tu Apellido 2°
No se puede seguir sin esos datos
";
echo "
";
exit;
}
/*En este caso el código PHP está antes del body
*/
?>
Por qué incorrecto?:
Porque el Script PHP pone un condicional, (} else if(($nombre == "") or ($apellido1 == "") or ($apellido2 == "")) {))
que si los textos tienen valor vacio (++ "") la página no se inicie (exit) y cuando la página se carga , por lógica los textos estan vacios.
Código de Validación con inconvenientes - Ejemplo 2
Formulario 1
".$nombre. " ".$apellido1. "";//arreglo para aparecer separado y abajo de la linea anterior
$nombreCompleto = $nombre." ".$apellido1;
$nombreCompleto .= " ".$apellido2;
echo "
Nombre: ".$nombreCompleto."
";
// Usamos el operador ternario '?'. Devuelve: "El número es menor de 86"
echo "
El número es ".(($x >= 86) ? "mayor o igual de 86" : "menor de 86" )."
";
} else if(($nombre == "") or ($apellido1 == "") or ($apellido2 == "")) {//estamos diciendo que cualquiera de ellos que este vacio
echo "
";
echo " ";echo "
Por favor colocá tu nombre o tu Apellido 1° o tu Apellido 2°
No se puedeseguir sin esos datos.
";
echo "
";
exit;
} else if (($nombre == "") and ($apellido1 == "") and ($apellido2 == "")) {
echo "
";
echo " ";echo "
Por favor colocá tu Nombre y tu tu Apellido 1° y tu Apellido 2°
No se puede seguir sin esos datos
";
echo "
";
exit;
}
/*En este caso el código PHP está despues del formulario.
*/
?>
Por qué inconveniente nuevamente?:
Porque al arrancar la página aparece el cartel de "Por favor colocá tu nombre o tu Apellido......", es poco estetico, imperativo y estamos 'abriendo el paragua antes que llueva..'