7 - Envío de datos de un FORMULARIO
Una actividad fundamental en PHP es la recolección de datos de un formulario HTML.
El proceso para el manejo de FORMULARIOS requiere generalmente dos páginas, una que implementa el formulario y otra que procesa los datos cargados en el formulario.
La estructura mínima de un formulario es la siguiente: para la entrada de un nombre de persona, un objeto text y un botón para el envío del dato al servidor:
<html>
<head>
<title>Formulario de entrada del dato</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>
Esta página está completamente codificada en HTML, es decir no hay un script en PHP, el formulario contiene elementos HTML puros. El elemento:
<form> y </form>
nos permite definir un formulario en la página.
Este elemento tiene dos propiedades que debemos inicializar obligatoriamente: action y method.
La propiedad action indica el nombre del archivo que recibirá los datos ingresados por el operador en el formulario y que serán enviados al servidor cuando se presione el botón (submit). La propiedad method indica como se organizan esos datos para enviarlos al servidor, pudiendo ser mediante los métodos post o get (normalmente los datos de un formulario se envían mediante el método post).
Para crear un cuadro de texto para el ingreso del nombre debemos definir un objeto de tipo «text» y darle un nombre:
<input type="text" name="nombre">
La propiedad type nos permite definir el tipo de control y con la propiedad name indicamos el nombre del control.
Por último todo formulario tiene un botón de tipo submit:
<input type="submit" value="confirmar">
También utilizamos el elemento input pero en la propiedad type indicamos que se trata de un botón de envío de datos. En la propiedad value indicamos el texto que queremos que aparezca en el botón.
Ahora necesitamos una página con un pequeño programa en PHP que procese los datos ingresados en el formulario:
<html>
<head>
<title>Captura de datos del form</title>
</head>
<body>
<?php
echo "El nombre ingresado es:";
echo $_REQUEST['nombre'];
?>
</body>
</html>
Para acceder al dato en PHP se cuenta con un vector llamado $_REQUEST indicando como subíndice el nombre del cuadro de texto que definimos en el formulario (dicho nombre es sensible a mayúsculas y minúsculas)
Es común indicar entre comillas simples el subíndice en lugar de comillas dobles (con comillas dobles también funciona)
En nuestro problema sólo mostramos por pantalla el valor ingresado en el formulario HTML:
echo $_REQUEST['nombre'];