Ihr LogoIhr Logo
PHP Parte 4
“manejo de formularios”
Your LogoYour Logo
Formularios
El proceso para el manejo de FORMULARIOS html requiere generalmente dos páginas,
una que implementa el formulario y
otra que procesa los datos cargados en el formulario.
Your LogoYour Logo
Formularios
Your LogoYour Logo
Formularios
Por ejemplo ingresaremos un nombre de persona, usaremos un objeto input de tipo text y un botón para el envío del dato al servidor:
<html>
<head> <title>Formulario entrada de datos</title> </head>
<body>
<form method="post" action="pagina2.php"> Ingrese su nombre: <input type="text" name="nombre"> <br> <input type="submit" value="confirmar">
</form>
</body>
</html>
Your LogoYour Logo
Formularios
Esta página está completamente codificada en HTML, es decir un formulario contiene marcas HTML puras.
La marca FORM tiene dos propiedades que debemos inicializar obligatoriamente: action y method.
La propiedad action indica el nombre del archivo del lado del servidor que recibirá los datos ingresados por el operador en el formulario y que serán enviados al servidor cuando se presione el botón de tipo submit.
Your LogoYour Logo
Formularios
La propiedad method indica como se organizan esos datos para enviarlos al servidor,
pudiendo ser mediante los métodos HTML post o get (normalmente los datos de un formulario se envían mediante el método post).
Your LogoYour Logo
Formularios
Ahora necesitamos una página con un pequeño programa en PHP que procese los datos ingresados en el formulario:
<?php
$nombre= $_POST['nombre'];
echo "Hola: ".$nombre;
?>
Your LogoYour Logo
$_POST
PHP puede tratar los datos recibidos de un formulario como elementos de un array.
Por ejemplo, si hemos usado method="post" en el formulario, tendremos los diferentes campos dentro del array $_POST,
así que en este caso por ejemplo, para acceder al campo nombre, lo haríamos con: $_POST["nombre"];
para acceder al campo apellido pondríamos $_POST["apellido"]; … etc
Your LogoYour Logo
$_GET
En cambio si queremos que las variables viajen por la url debemos usamos $_GET
Esta es la forma mas usual y sencilla de pasar valores o variables mediante un enlace entre dos paginas.
Para ello el atributo method del tag form HTML debe tener el valor get. Así method=“get"
Your LogoYour Logo
isset
La función isset() de PHP determina si una o más variables están definidas o contienen el valor NULL.
Devuelve false si son null o no existen o true en caso de existir.
Cualquier variable puede ser evaluada con esta función aunque no sea necesario hacerlo; pero cuando trabajamos con envío de datos y recepción de ellos por medio de php, por seguridad deberíamos verificar un envío con isset.
Your LogoYour Logo
isset
<html>
<head> <title>Formulario entrada de datos</title> </head>
<body>
<form method="post" action="pagina2.php">
<p>Ingrese su nombre:
<input type="text" name="nombre">
</p>
<p>Ingrese su apellido:
<input type="text" name="apellido" id="textfield">
<br>
<input type="submit" value="confirmar">
</p>
</form>
</body>
</html>
Your LogoYour Logo
isset
<?php
if ( isset($_POST["nombre"]) and isset($_POST["apellido"]) ) {
echo "Hola " .$_POST["nombre"]." ".$_POST['apellido'];
}
?>
Your LogoYour Logo
Tenga en cuenta que…
Cualquier control dentro de un formulario html se envía a PHP solamente si está establecido su atributo name.
El atributo name del control puede contener cualquier carácter (números, acentos, guiones, etc) y es recomendable que no contenga espacios en blanco porque puede confundir al navegador al momento de postear o getear.
Your LogoYour Logo
$_REQUEST
Cuando se envía un formulario, PHP almacena la información recibida en una matriz llamada $_REQUEST.
El número de valores recibidos dependen tanto del formulario como de la acción del usuario.
$_REQUEST se usaba en versiones anteriores de PHP, luego fue reemplazada por $_POST y $_GET respectivamente; pero aún se puede usar.
Your LogoYour Logo
$_REQUEST
Cada control crea un elemento de la matriz $_REQUEST, que se identifica como $_REQUEST[valor_del_atributo_name] y que contiene el valor entregado por el formulario.
Your LogoYour Logo
$_REQUEST
reutilizando el archivo html anterior, modifiquemos el archivo php así:
<?php
if ( isset($_REQUEST["nombre"]) and isset($_REQUEST["apellido"]) ) {
echo "Hola " .$_REQUEST["nombre"]." ".$_REQUEST['apellido'];
}
?>
Your LogoYour Logo
Práctica
Confeccionar un formulario que solicite la carga de un nombre
de una persona, su apellido y su edad, luego mostrar en otra
página si la persona es un bebé (de 0 a 3 años), si es un niño (de
4 a 12 años), si está en la pubertad (13 a 15 años), si es
adolescente (16 a 17 años), si es un joven (18 a 25 años), si es un
adulto (de 26 a 60) años y si está en la tercera edad (mas de 60
años).
Muestre un mensaje por ejemplo que diga “La persona $nombre $apellido
tiene $edad años y es un bebe”