Validar formulario en la misma página Php

Con esto, se logra que si algún campo no es correcto, se muestre, sin tener que usar variables de sesion, o formularios enviando hacia atras para que muestren los datos que si estaban correctos. En algunos casos, y según la configuración del paquete que se use que contenga php, mysql, y apache (wamp, lampp, etc) y si se utilizan variables de sesion, se pierden los valores pasados por post al volver hacia atrás. Con este método, además de ser más sencillo, se evita eso.

Una función contiene el formulario, que es, llamado 2 veces, la otra función contiene la validación (En este caso solo cambia la primera  letra a mayúscula).

$nomb = $_POST[nombre];
$apell = $_POST[apellido];
$ocupa = $_POST[ocupacion];

if($nomb == “” or $apell == “” or $ocupa == “”)
{
crear_formulario($nomb, $apell, $ocupa);
}
else
{
validar_form($nomb, $apell, $ocupa);
}

//================== -FUNCIONES- =========================

function validar_form($nombre, $apellido, $ocupacion)
{
$nombre= ucfirst($nombre);
$apellido= ucfirst($apellido);
$ocupacion= ucfirst($ocupacion);

crear_formulario($nombre, $apellido, $ocupacion);
}

=======================================================

function crear_formulario($nombre, $apellido, $ocupacion)
{
echo “<table align=’center’ name=’tabla2′><form method=’post’ action=’ffunction.php’ name=’formvalifunct2′>”;

echo “<tr><td align=’center’>Nombre</td></tr>”;
echo “<tr><td align=’center’><input type=’text’ size=’25’ name=’nombre’ value=’$nombre’></td></tr>”;
echo “<tr><td align=’center’><br></td></tr>”;

echo “<tr><td align=’center’>Apellido</td></tr>”;
echo “<tr><td align=’center’><input type=’text’ size=’25’ name=’apellido’ value=’$apellido’></td></tr>”;
echo “<tr><td align=’center’><br></td></tr>”;

echo “<tr><td align=’center’>Ocupaci&oacute;n</td></tr>”;
echo “<tr><td align=’center’><input type=’text’ size=’25’ name=’ocupacion’ value=’$ocupacion’></td></tr>”;
echo “<tr><td align=’center’><br></td></tr>”;

echo “<tr><td align=’center’><input type=’submit’ value=’enviar’></td></tr>”;

echo “</form></table>”;
}

?>

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s

A %d blogueros les gusta esto: