Diferencia entre revisiones de «Plantilla:PHP/FormulariosConceptosGenerales»
De WikiEducator
(→Cómo leer datos de usuario) |
(→Cómo leer datos de usuario) |
||
| (17 revisiones intermedias por el mismo usuario no mostrado) | |||
| Línea 1: | Línea 1: | ||
| + | <div id=parrafo> | ||
<div class="slide"> | <div class="slide"> | ||
===Introducción=== | ===Introducción=== | ||
| Línea 27: | Línea 28: | ||
*De alguna manera enviaremos parejas '''''variable, valor'''''. | *De alguna manera enviaremos parejas '''''variable, valor'''''. | ||
*El formulario será parte de la página del cliente, código '''''html'''''. | *El formulario será parte de la página del cliente, código '''''html'''''. | ||
| − | [[image: | + | [[image:FormularioPHP.png |center]] |
| + | |||
</div> | </div> | ||
| Línea 33: | Línea 35: | ||
<div class="slide"> | <div class="slide"> | ||
;Leyendo del usuario | ;Leyendo del usuario | ||
| − | *En el formulario tendremos | + | *En el formulario tendremos elementos gráficos de entradas de valores '''''(input)''''' donde, en el navegador, el usuario podrá escribir contenido(text, ...), o de alguna forma aportarlo (radio, select, ...) |
*En los diferentes elementos de entrada de un formulario , como una texto, el usuario podrá escribir valores. | *En los diferentes elementos de entrada de un formulario , como una texto, el usuario podrá escribir valores. | ||
| − | * | + | {{Tip|Existen diferentes tipos de inputs: text, puedo escribir, radio, select, checkbox, son para seleccionar}} |
| − | * | + | {{MRM_Puntos clave|Title=El proceso será:| |
| + | El proceso será el siguiente | ||
| + | *Presionando el elemento submit( botón por lo general) '''''(submit del formulario)''', dichos valores irán al servidor para ser leídos y usados en un script; | ||
| + | *Viajan del cliente al servidor, como si fuera un tren y cada elemento va a ser un vagón | ||
| + | *En el servidor podremos acceder a ellos. El nombre de ese tren serán '''$_POST''' o bien '''$_GET'''. | ||
| + | *Cada vagón tendrá un nombre que le habremos puesto en el atributo name del input. | ||
| + | }} | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
| Línea 60: | Línea 68: | ||
#'''''method''''': especifica el modo en el que se van a pasar los parámetros (valores introducidos a los diferentes objetos del formulario, o que tengan asignados por defecto). | #'''''method''''': especifica el modo en el que se van a pasar los parámetros (valores introducidos a los diferentes objetos del formulario, o que tengan asignados por defecto). | ||
| + | ====El action==== | ||
| + | <br /> | ||
| + | {{MRM_Definicion|Title=Valor de action| | ||
| + | Establece el nombre del recurso, script o página | ||
| + | que se va a solictar al servidor | ||
| + | cuando realicemos un click en el submit del formulario | ||
| + | }} | ||
| + | ;Ejemplo | ||
{{MRM_Actividad|Title=Haciendo un pin-pon| | {{MRM_Actividad|Title=Haciendo un pin-pon| | ||
| − | + | Haz un proyecto que contenga dos páginas '''''ping.php''''' y '''''pon.php''''' | |
*Ambas tendrán un botón de tipo submit | *Ambas tendrán un botón de tipo submit | ||
<source lang=html5> | <source lang=html5> | ||
| Línea 68: | Línea 84: | ||
</source> | </source> | ||
*La página pin me llevaré a pon py la página '''''pon''''' me ha de llevar a '''''pin''''' | *La página pin me llevaré a pon py la página '''''pon''''' me ha de llevar a '''''pin''''' | ||
| − | {{plegable|hide| | + | {{plegable|hide|posible solución| |
<source lang=html5> | <source lang=html5> | ||
<!--PIN.PHP--> | <!--PIN.PHP--> | ||
| Línea 108: | Línea 124: | ||
}} | }} | ||
}} | }} | ||
| − | ====GET o POST==== | + | |
| + | |||
| + | ====El method: GET o POST==== | ||
| + | |||
| + | <br /> | ||
| + | {{MRM_Definicion|Title=Valor de method| | ||
| + | Establece la manera en la que van a enviar los datos al servidor | ||
| + | Se enviarán todas las parejas variable-valor que haya en el formulario | ||
| + | Estos datos se pueden enviar: | ||
| + | en la cabecera (método GET) | ||
| + | en el cuerpo del mensaje (método POST) | ||
| + | }} | ||
| + | |||
<source lang=html4strict style="width:50%"> | <source lang=html4strict style="width:50%"> | ||
| − | <form action=" | + | <form action="datos.php" method="POST" |
| + | ...... | ||
| + | </form> | ||
| + | </source> | ||
| + | <source lang=html4strict style="width:50%"> | ||
| + | <form action="datos.php" method="GET" | ||
...... | ...... | ||
</form> | </form> | ||
</source> | </source> | ||
</div> | </div> | ||
| − | * | + | |
| − | * | + | *Este parámetro es opcional, si no se especifica por defecto toma el valor '''GET''' |
| + | |||
| + | *Cuando el método es '''GET''' las parejas se viaulizan en el URL, apareciendo como parte de él, separado por el signo interrogación con parejas '''variable=valor''', y separadas entre ellas, si hubiera varias, con el & | ||
| + | |||
{{MRM_Ejemplo| | {{MRM_Ejemplo| | ||
; Método GET | ; Método GET | ||
*HTML en el cliente: | *HTML en el cliente: | ||
*Vemos dos ''input'' de type text y con dos atributos asignados: '''''name''''' y '''''value''''': | *Vemos dos ''input'' de type text y con dos atributos asignados: '''''name''''' y '''''value''''': | ||
| − | + | *1.- '''''name''''' es el que vamos a utilizar para recuperar el contenido del '''input''' en el servidor. | |
{{Tip|El '''name''' es al servidor lo mismo que el '''id''' es al cliente, con id podéis acceder a los valores de los elementos con javascript, con el ''name'' lo haremos en php}} | {{Tip|El '''name''' es al servidor lo mismo que el '''id''' es al cliente, con id podéis acceder a los valores de los elementos con javascript, con el ''name'' lo haremos en php}} | ||
| − | + | *2.- '''''value''''' es el valor. Este valor se sustituye por el contenido del '''input''' del formulario. | |
<source lang=html5> | <source lang=html5> | ||
| − | <form action=" | + | <form action="datos.php" method="GET"> |
Nombre | Nombre | ||
<input type=text name = 'nombre' value='maría'> | <input type=text name = 'nombre' value='maría'> | ||
| Línea 141: | Línea 177: | ||
*Observamos como aparece el texto después de la url: | *Observamos como aparece el texto después de la url: | ||
<br /> | <br /> | ||
| − | [[Imagen: | + | [[Imagen:form_maria_ruiz.png]] |
}} | }} | ||
| Línea 149: | Línea 185: | ||
<div class="slide"> | <div class="slide"> | ||
;Atributos | ;Atributos | ||
| − | *En este caso estamos indicando que cuando se envíe el formulario, se | + | *En este caso estamos indicando que cuando se envíe el formulario, se solicita al servidor un fichero (página, recurso o script) llamado '''''datos.php'''''. |
| − | *La ubicación del fichero, como no se especifica, se busca en la misma ubicación donde está el fichero que actualmente está viendo el cliente. | + | *La ubicación del fichero, en este caso, como no se especifica, se busca en la misma ubicación donde está el fichero que actualmente está viendo el cliente. |
| + | *No obstante se puede especificar una ruta absoluta en lugar de relativa | ||
| + | <source lang=html5> | ||
| + | <form action="http://localhost/pruebas/datos.php" method="GET"> | ||
| + | .... | ||
| + | </source> | ||
| + | {{Tip| Tienes claro la diferencia entre ruta relativa y ruta absoluta?}} | ||
*También se especifica que los valores enviados con el formulario; irán en el cuerpo de documento usando el protocolo http, y no en el URI con el signo ? como sucede si se especificara GET. | *También se especifica que los valores enviados con el formulario; irán en el cuerpo de documento usando el protocolo http, y no en el URI con el signo ? como sucede si se especificara GET. | ||
</div> | </div> | ||
| − | |||
<!--3 --> | <!--3 --> | ||
<div class="slide"> | <div class="slide"> | ||
{{MRM_Puntos clave| | {{MRM_Puntos clave| | ||
| − | Tan inseguro es usar '''''GET''''' como '''''POST'''''. si queremos garantizar seguridad debemos usar '''''https''''' en lugar de '''''http'''''}} | + | |
| + | Tan inseguro es usar '''''GET''''' como '''''POST'''''. si queremos garantizar seguridad debemos usar '''''https''''' en lugar de '''''http''''' | ||
| + | ;En el caso de GET | ||
| + | <source lang=html5> | ||
| + | <form action="http://localhost/pruebas/datos.php" method="GET"> | ||
| + | .... | ||
| + | </source> | ||
| + | |||
| + | [[image:form_maria_ruiz.png]] | ||
| + | <br /> | ||
| + | ;En el caso de post | ||
| + | <source lang=html5> | ||
| + | <form action="http://localhost/pruebas/datos.php" method="POST"> | ||
| + | .... | ||
| + | </source> | ||
| + | |||
| + | Si vamos a las herramientas de diseño en el navegador, en la solapa de red o network, podemos ver: | ||
| + | [[image:form_maria_ruiz_post.png]] | ||
| + | |||
| + | }} | ||
*Por supuesto hay más atributos, el id es importante para poder acceder a ese elemento con javascript. | *Por supuesto hay más atributos, el id es importante para poder acceder a ese elemento con javascript. | ||
*Tanto '''''method''''' como '''''action''''' son necesarios para la programación web. | *Tanto '''''method''''' como '''''action''''' son necesarios para la programación web. | ||
| Línea 297: | Línea 357: | ||
*La respuesta es que tiene el valor null | *La respuesta es que tiene el valor null | ||
}} | }} | ||
| + | <br /> | ||
*Esto puede crear confusiones que debemos aclarar. '''''null''''', cuando una variable tiene valor null vamos a considerar que no tiene valor, o que no ha sido delcarada. | *Esto puede crear confusiones que debemos aclarar. '''''null''''', cuando una variable tiene valor null vamos a considerar que no tiene valor, o que no ha sido delcarada. | ||
*Para comprobar probamos el siguiente código | *Para comprobar probamos el siguiente código | ||
| Línea 684: | Línea 745: | ||
}} | }} | ||
| − | + | ||
</div> | </div> | ||
| Línea 759: | Línea 820: | ||
<!--3 --> | <!--3 --> | ||
<div class="slide"> | <div class="slide"> | ||
| + | </div> | ||
Última revisión de 05:51 10 dic 2024
- Este parámetro es opcional, si no se especifica por defecto toma el valor GET
- Cuando el método es GET las parejas se viaulizan en el URL, apareciendo como parte de él, separado por el signo interrogación con parejas variable=valor, y separadas entre ellas, si hubiera varias, con el &
Ejemplo
| |
Tip: El name es al servidor lo mismo que el id es al cliente, con id podéis acceder a los valores de los elementos con javascript, con el name lo haremos en php
<form action="datos.php" method="GET"> Nombre <input type=text name = 'nombre' value='maría'> Apellido <input type=text name = 'apellido' value='Ruiz'> <br /> <input type=submit value=enviar> </form>
Dos cajas de texto y el botón submit
|
Tip: No se recomienda por temas de seguridad leer de la superglobal $_REQUEST
Nota: Las variables en $_REQUEST se proporcionan al script a través de los mecanismos de entrada GET, POST, y COOKIE y por lo tanto pueden ser manipulados por el usuario remoto y no debe confiar en el contenido...)









