Formularios en php
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:
Formulario de entrada del dato
Ingrese su nombre:Esta página está completamente codificada en HTML, es decir un formulario contiene marcas HTML puras.
La marca y nos permite definir un formulario en la página. La marca FORM 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 queserá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 envian 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:
La propiedadtype 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:
También utilizamos la marca input pero en la propiedad type indicamos que se trata de un botón de envio de datos. En la propiedad value indicamos el texto que queremos que aparezca en el botón.
Ahora necesitamos una página con unpequeño programa en PHP que procese los datos ingresados en el formulario:
Captura de datos del form
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)
En nuestro problema sólo mostramos por pantalla el valor ingresado en lapágina anterior:
echo $_REQUEST['nombre'];
Para analizar este control dispondremos un ejemplo:
Implementar un formulario que solicite la carga de dos enteros, uno en cada text. Disponer dos controles de tipo radio que nos permitan seleccionar si queremos sumar o restar los dos valores ingresados:
Problema
Ingrese primer valor:
Ingrese segundo valor:sumar
restar
Es importante notar que se trata nuevamente de un archivo HTML puro, que no tiene código PHP.
La entrada de los dos números se efectua en dos controles
Es importante notar que cada text tiene un name DIFERENTE.
Para seleccionar el tipo de operación a efectuar disponemos dos controles de tipo radio:
sumar restar Es importante notar que los dos controlestienen el MISMO nombre. Esto es necesario para que el navegador sepa que los dos controles están relacionados (recordar que cuando uno selecciona un radio se debe deseleccionar el otro)
Desde la otra página accederemos al value del control seleccionado.
Por último disponemos un control de tipo submit para el envio de los datos del formulario.
El código de la página que procesa el formulario,llamada:"pagina2.php" (la que indicamos en la marca FORM del formulario) es:
Problema
El vector asociativo $_REQUEST tiene tres componentes: $_REQUEST['radio1'] $_REQUEST['valor1'] $_REQUEST['valor2'] En la componente $_REQUEST['radio1'] almacena la cadena "suma" o "resta" según cual se seleccionó en el formulario.
Con dos if verificamos cual operación está seleccionada yprocedemos a efectuarla:
if ($_REQUEST['radio1']=="suma")
{
$suma=$_REQUEST['valor1'] + $_REQUEST['valor2'];
echo "La suma es:".$suma;
.
.
Para analizar este control utilizaremos prácticamente el mismo ejemplo que con el objeto radio:
Implementar un formulario que solicite la carga de dos enteros, uno en cada text. Disponer dos controles de tipo checkbox que nos permitan...
Regístrate para leer el documento completo.