sábado, 10 de septiembre de 2016

Capítulo 71. PHP: Continuando con los formularios. Parte 1


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

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...