Como bien se ha podido intuir en el título de esta nueva entrega, vamos a tratar de aprender cómo se puede utilizar la información introducida en los formularios de una página web. Sin embargo, antes de seguir os queremos recomendar que si os perdisteis la última entrega del curso de HTML y CSS la echéis un vistazo.
El motivo por el que decimos esto es que en esta última hablamos de todo lo relacionado con el lenguaje PHP, algo que resulta necesario y de obligatoria lectura para poder entender de qué vamos a hablar en esta nueva entrega.
Tal y como indicábamos con anterioridad, los formularios es algo que se tiene que aplicar prácticamente a todas las páginas webs, y que resulta algo indispensable si estamos hablando de páginas que manejan datos de usuarios. Por este motivo vamos a ver cómo se puede realizar esto haciendo uso del lenguaje PHP.
¿Cómo implementar formularios con PHP?
En entregas anteriores hemos podido ver que para crear formularios se debía utilizar la etiqueta <form></form>, dentro de la cual se incluían todos los input necesarios para poder solicitar información al usuario. Sin embargo, para que esto sea posible y que PHP funcione, en primer lugar será necesario añadir dos tributos a la etiqueta form:
- Action: que especifica el nombre del fichero PHP que se encargará de procesar la información contenida en el formulario.
- Method: de momento nos vamos a quedar con que va a tomar el valor POST, el motivo es para evitar que la información enviada al script sea utilizando la URL.
Además, será el uso obligatorio de un input de tipo «submit», es decir, el botón el cual indicará al servidor que se ha finalizado la introducción de datos y que se envían para ser procesados.
Por ejemplo, tenemos el siguiente archivo .php:
<html>
<body>
<form action=»servidor.php» method=»post»>
Nombre: <input type=»text» size=»20″ name=»nombre»/>
<input type=»submit» value=»enviar»/>
</form>
</body>
</html>
En este caso tenemos el archivo con el formulario, además de la etiqueta <form> con las condiciones que hemos mencionado anteriormente. Como se puede ver, será necesaria la creación de otro fichero php que se llame «servidor.php» y que será el encargado de tratar la información proporcionada:
<HTML>
<BODY>
<?PHP
echo «su nombre es: «;
echo $_POST[«nombre»];
?>
</BODY>
</HTML>
Nota: Es muy importante que a los input se les asigne un nombre, ya que como podemos ver en el código anterior, a la hora de poder tratar la información proporcionada se hace mediante $_POST[«nombre del input»].
Lectura de información de los diferentes tipos de input con PHP
Vamos a ilustraros la forma gracias a la cual se pueden utilizar los datos de los input que más se utilizan. Hay que tener en cuenta que a continuación todos los cliente.php están incompletos, por lo que habrá que añadir todo lo necesario que hemos explicado con anterioridad. Los servidor.php sí que están completos y se pueden copiar y pegar.
Tipo text
Ejemplo:
cliente.php
Introduzca su apellido:
<input type=»text» name=»apellido» size=»20″/>
servidor.php
<?PHP
echo «su apellido es: «;
echo $_POST[«apellido»];
?>
Tipo radio
Ejemplo:
cliente.php
<INPUT TYPE=»radio» NAME=“coche» VALUE=“opel“>opel
<INPUT TYPE=»radio» NAME=»coche» VALUE=»renault»>renault
<INPUT TYPE=»radio» NAME=»coche» VALUE=»seat»>seat
servidor.php
<?PHP
echo «Su coche es:»;
echo $_POST[«coche»];
?>
Tipo checkbox
Ejemplo:
cliente.php
<INPUT TYPE=»checkbox» NAME=“opciones[]» VALUE=“climatizador» CHECKED>
climatizador
<INPUT TYPE=»checkbox» NAME=» opciones[]» VALUE=“elevalunas»>
elevalunas
<INPUT TYPE=»checkbox» NAME=» opciones[]» VALUE=“CD»>
CD
servidor.php
<?PHP
$auxiliar=$_POST[«opciones»];
$n=count($auxiliar);
echo «Estas son las opciones»;
echo «<br>»;
for ($i=0; $i<$n; $i++) {
echo $auxiliar[$i];
echo «<br>»;
}
?>
Curso de HTML y CSS: próxima entrega
En la próxima entrega del curso trataremos todo lo relacionado con los archivos XML, y viendo de forma detenida cómo se puede crear una estructura, y el proceso para poder leer y escribir en este tipo de archivos, los cuales nos pueden servir para almacenar datos relacionados con una web