Diario de un
programador.- Día 170
PHP
Continuando con los
formularios. El método Post.
Para utilizar el método
post, solamente hay que cambiar la palabra clave GET por POST, en ambos
archivos, de esta manera:
Y realizamos lo mismo en el formulario que recibe los datos:
La diferencia entre los
métodos GET y POST, se encuentra en la forma en cómo se envían los datos. El
método GET envía los datos usando la URL, mientras que el método POST los envía
por la entrada estándar STDIO. Ambos métodos producen el mismo resultado, pero
según leí en algunas web, el método POST es más seguro debido a que no se
pueden modificar las variables por la URL.
MÁS FORMULARIOS
A parte de los formularios
con cuadros de texto, existen muchos otros que se utilizan a menudo. Para estos
ejemplos utilizaré el mismo formulario que ocupé con el método POST. A
continuación detallaré los más usados:
Formulario de contraseña
Este tipo de formulario lo
que hace es recibir una entrada oculta de caracteres, elemento típico de los
formularios de contraseña. Cuando el usuario escribe algo en el cuadro de
texto, el texto saldrá con asteriscos o puntos. El código para esto es el
siguiente:
<INPUT TYPE = "password"
NAME = "nombre"/><br/>
Como se puede apreciar,
solamente cambió el parámetro a "password", el resto del código se
mantiene tal cual. El código completo es el siguiente:
Introduzca su clave:
<FORM ACTION =
"datos.php" METHOD = "POST" NAME =
"formulario">
<INPUT TYPE =
"password" NAME = "nombre"/><br/>
<INPUT TYPE =
"submit" NAME = "enviar" VALUE = "Enviar"/>
</FORM>
Se hace presente que el
documento php que recibe los datos, se mantiene sin cambios.
Al escribir los datos en el
formulario, se debería ver como la siguiente imagen.
Formulario de área de texto
Este tipo de formulario se
ocupa principalmente para dejar una nota o un comentario. Este código es medianamente diferente al anterior.
El código para esto es el siguiente:
<textarea name =
"cuadro1"></textarea></br>
textarea, indica que se
utilizará un area de texto. Name indica el identificador para este cuadro, este
nombre es el que será referenciado por el otro documento php, por lo tanto, al
igual que los demás formularios, este nombre debe coincidir con el ingresado en
el documento php que recibirá los datos. El código se debería ver así:
Comentarios:
<FORM ACTION =
"datos.php" METHOD = "POST" NAME =
"formulario">
<textarea name =
"cuadro1"></textarea></br>
<INPUT TYPE =
"submit" NAME = "enviar" VALUE = "Enviar"/>
</FORM>
De no haber cambiado el
nombre a "cuadro1", el otro documento se quedaría sin cambios, pero
como ya hice el cambio, el otro documento también debe ser modificado. Quedaría
de esta forma:
Dato introducido: <?php
echo $_POST["cuadro1"];
?><br/>
Si todo salió como era de esperarse, al ejecutar el documento se
debería ver de la siguiente forma:
Formulario de lista desplegable
Este tipo de formulario se
ocupa principalmente cuando se tiene una gran lista de elementos que
seleccionar y se requiere mostrarlos uno por uno. Yo colocaré como ejemplo una
lista que muestra los días de la semana.
El código para esto es el
siguiente:
<select name =
"semana">
<option value = "Lunes">
Lunes </option>
<option value = "Martes">
Martes </option>
<option value = "Miercoles">
Miercoles </option>
<option value = "Jueves">
Jueves </option>
<option value = "Viernes"> Viernes </option>
<option value =
"Sabado"> Sabado </option>
<option value =
"Domingo"> Domingo </option>
</select>
select name, indica el identificador
para este cuadro, ("semana") este nombre es el que será referenciado
por el otro documento php, por lo tanto, al igual que los demás formularios,
este nombre debe coincidir con el ingresado en el documento php que recibirá
los datos.
option value, indica
que el dato que se encuentra entre comillas es el que se va a enviar al otro
documento php, en este caso serían los días de la semana. Lo que se encuentra
sin las comillas, es el texto que aparecerá en la lista desplegable. Se hace
presente que la palabra clave value = "texto" es opcional, si esta
palabra se omite, entonces se enviará al otro documento la palabra que se
encuentra sin las comillas, en otras
palabras, se enviará el mismo dato que aparece en la lista desplegable. Si
quito esa palabra, el código se vería así: <option> Lunes
</option>, pero como a mi rápidamente se me olvidan las cosas, dejaré la
palabra clave value así como estaba para saber que hace.
El código completo se vería
más o menos así:
El código del documento que
recibe los datos cambia solamente los datos del POST al igual que antes,
quedando de la siguiente manera:
Dato introducido: <?php
echo $_POST["semana"];
?><br/>
Si todo salió bien, al
ejecutar el código debería salir la lista desplegable con los días de la semana
de esta manera:
Al seleccionar un día de la
semana, por ejemplo Sábado, entonces se debería ver en el otro documento:
Esta última parte de los formularios se me extendió un poco así que tuve que dividirla en varias partes, así que dejaré hasta aquí la lección de hoy y continuaré en la próxima entrega. Saludos
Gustavo J. Cerda Nilo
Mayo 2016, Septiembre 2016
No hay comentarios:
Publicar un comentario