PHP: Interacción con HTML



Documentos relacionados
Formularios HTML. Elementos de Programación y Lógica

Partes del formulario

RECUPERAR DATOS DE UN FORMULARIO HTML USANDO PHP. USO DE $_GET. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00833B)

2.5. Manipular objetos y formularios en una página Web.

Desarrollo de sitios web con PHP y MySQL

Bases de Datos. Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN

PÁGINAS DINÁMICAS WEB CON PHP. Unidad 4 Aplicaciones Web

XAJAX: una librería de AJAX para PHP (parte 1)

Diseño de páginas web

INYECCIóN DE CóDIGO EN APLICACIONES PHP. Autor: Iñaki Rodriguez (2005)

TEMA 4. Introducción a la programación con el lenguaje JavaScript. Tecnologías de la Información 1ºBachillerato IES Zurbarán (Badajoz)

Manejo de datos BLOB con PHP y MySQL

Este tipo de situaciones son solventadas a partir de las variables de sesión.

Guía de migración a firma HMAC SHA256 Conexión por Redirección

Proyectos de Innovación Docente

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

Resumen del módulo EZ Web Lynx.

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

Sesiones (I) Requisitos de configuración. Iniciando y propagando sesiones. 1 de 5. Qué son las sesiones? Funciones de sesión

Ejercicios del bloque de Web de Sistemas de Información:

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

SEGUIMIENTO EDUCATIVO. Comunicaciones

MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7

Tema: GESTIÓN DE SESIONES EN PHP.

Informática Aplicada a la Gestión de Empresas (IAGE) Parte III Excel e Internet Tema 2

Biografía en Facebook

Manual de aplicación SITE

Combinar comentarios y cambios de varios documentos en un documento

Manual de ayuda para la utilización del Correo Interno en el Campus Virtual

Modulo 1 El lenguaje Java

Tipos de variables, características generales y aspectos específicos de PHP de estos elementos básicos de la programación.

PROYECTO MIS IMÁGENES,

Google Calendar. Google Calendar

Versión 4 - Tutoriales

Manual para uso de cuentas de

Menús. Gestor de Menús

Antes de construir tu base de datos es conveniente saber que tipos de datos vas a almacenar y como distribuirlos.

PHP Hypertext PreProcessor

Alta. En la plataforma. Uned- lued - Formatic. Patricia Rodríguez Mara Aguiar

EXTENSIÓN DE UML PARA APLICACIONES WEB

TUTORIAL. Edición de contenido y creación de entradas y páginas Wordpress

Centro de Capacitación en Informática

EJEMPLO DE APERTURA Y CIERRE DE UNA ETIQUETA.

RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

Panel de control. IUED-Formatic Patricia Rodriguez- Mara Aguiar

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

SECRETARÍA VIRTUAL Perfil Ciudadano

Tema 6 Parte III. Frameworks web para dispositivos móviles

Software para Seguimiento de Clientes. Descripción del Producto

5.1 Introducción a XSL

Introducción al desarrollo web (idesweb)

Manejo y gestión del Campus Virtual para tareas colaborativas

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

Plantilla de texto plano

MANUAL DE FORMULARIOS WEB. Informazio Zerbitzua Servicio de Información

EDICIÓN Y FORMATO (II)

PERSONALIZAR OUTLOOK EXPRESS

Manual de usuario de "Asistente Web"

MANUAL PLATAFORMA SMSWORLD

INSTRUCCIONES BÁSICAS DE ACCESO AL PORTAL DEL CLIENTE

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

Funciones en Excel (II)

Una plantilla es un modelo que puede servir como base para muchas hojas de cálculo. Puede incluir tanto datos como formatos.

Usuarios y Permisos. Capítulo 12

Manual del Profesor Campus Virtual UNIVO

Comercial Cartas de Fidelización

Aplicación móvil guía del usuario

6.1. Conoce la papelera

Tema 3.1: Principios de diseño web accesibles

Formularios HTML. Desarrollo de Aplicaciones Web Departamento Informática y Sistemas Universidad de Murcia Curso 2013/2014

Manual para la utilización de PrestaShop

Programa de Fabricación para Android

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

CGI. Qué significa CGI?

SMS PUSH SMS ENCUESTAS INTERNET FAX

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Tutorial Servicios Web

Manual de Uso Web profesional

Cómo gestionar menús en Drupal 7

Manual Usuario Manual Usuario

SMS Plus Qué es? Cómo funciona?

Práctica 2: Diseño Web inicial. XHTML avanzado.

Guía rápida del alumno. Versión 6.2

Manual cómo comprar en Sistemas y Desarrollo Tecnológico Comercio Electrónico Versión: 1.1

Manual de Usuario. Railton da Encarnação Cardoso Teléfono:

Comerciales. Comisiones en Documentos de Venta WhitePaper Enero de 2008

Tienda Virtual Synergy (Parte 2)

GESTIÓN DE CERTIFICADOS DE HOMOLOGACIÓN A TRAVÉS DE INTERNET.

Estimado usuario. Tabla de Contenidos

Índice general de materias LECCIÓN 7 74

Nuevas funciones y características de espacio Aspel 4.0

DreamWeaver. CS5 y CS6. Cursosindustriales. Curso de DreamWeaver CS6 1

Curso Internet Básico - Aularagon

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

Manual de Usuario FLOTA WEB.

Ejercicios y cuestiones

Transcripción:

Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Variables En algunas ocasiones es necesario saber si una variable tiene un valor asignado o no, para ello utilizamos la instrucción isset() Intentar utilizar una variable que no tenga valor asignado puede dar lugar a errores inesperados La instrucción isset() recibe como argumento una variable y devuelve TRUE si la variable está definida y FALSE si no lo está Si queremos prescindir de una variable, podemos eliminarla utilizando la instrucción unset() Esta instrucción recibe como argumento la variable que se quiere eliminar Si $A es un array asociativo entonces unset($a) elimina dicho array y unset($a[ clave ]) elimina un elemento del array

Interacción con formularios Con PHP se pueden generar páginas Web dinámicas a partir de información proporcionada por el usuario La forma natural de proporcionar información a través de páginas Web es mediante formularios Para que un documento PHP reciba la información procedente de un formulario es necesario indicarlo como acción asociada a dicho formulario Envio de datos a un documento PHP <FORM action="documento.php"> Usuario: <INPUT type="text" name="usuario" value="id" size="8" maxlength="16"> <BR> Clave: <INPUT type="password" name="clave" size="8"> <INPUT type="submit"> </FORM>

Interacción con formularios En función del método de envío utilizado en el formulario, los datos llegan de distinta forma al documento PHP Si el método de envío es get, entonces los datos del formulario se almacenan en el array asociativo $ GET Si el método de envío es post, entonces los datos del formulario se almacenan en el array asociativo $ POST Si se envían ficheros desde el formulario (y por tanto el método de envío es post), entonces dichos ficheros se almacenan en el array asociativo $ FILES El método de envío por defecto es get Cada control activo del formulario tiene una entrada en el array asociativo correspondiente, en la que la clave es el valor de atributo name de dicho control El valor sólo se envía si se incluye el atributo name Si varios controles activos tienen el mismo valor del atributo name, entonces sólo se envía el último de ellos Sólo se recogen los datos del formulario desde el que se realiza el envío

Interacción con formularios Es usual que un documento PHP sea la acción asociada a los formularios contenidos en el propio documento Para saber cuando el documento PHP es llamado como acción de un formulario se utiliza la función isset() sobre las variables procedentes del formulario

Interacción con formularios Fichero bienvenida.php <HTML> <HEAD> <TITLE>Bienvenido a mi sitio Web</TITLE> </HEAD> <BODY> <?php if (isset($_post[boton]) && $_POST[boton] == "datos") { echo "<H3>Bienvenido $_POST[nombre] $_POST[apellidos]</H3>"; }?> <H1>Acceso de usuario</h1> <FORM action="bienvenida.php" method="post"> Nombre: <INPUT type="text" name="nombre"> <BR> Apellidos: <INPUT type="text" name="apellidos"> <BR> <INPUT type="submit" name="boton" value="datos"> </FORM> </BODY> </HTML>

Interacción con formularios Consideraremos el siguiente documento PHP genérico que recoge los datos de un formulario y los muestra de forma ordenada Fichero documento.php <HTML> <HEAD> <TITLE>Documento PHP de respuesta</title> </HEAD> <BODY> Variable $_GET: <PRE> <?php print_r($_get)?> </PRE> Variable $_FILES: <PRE> <?php print_r($_files)?> </PRE> </BODY>

Control INPUT: campos de texto El valor enviado por un formulario correspondiente a un campo de texto es el texto que contiene en el momento del envío Si el usuario no modifica el campo de texto entonces el valor enviado será el valor del atributo value Si el campo de texto está vacío, el valor enviado será la cadena vacía Aunque no se ve en el navegador, el valor de un campo de texto de tipo contraseña se envía como cualquier otro

Control INPUT: campos de texto Datos procedentes de campos de texto <FORM action="documento.php"> Usuario: <INPUT type="text" name="usuario" value="id" size="8" maxlength="16"> <BR> Clave: <INPUT type="password" name="clave" size="8"> <BR> <INPUT type="submit"> </FORM>

Control INPUT: campos de texto Después de modificar los campos de texto y enviar el formulario, el documento PHP genera el siguiente fragmento de código HTML Datos procedentes de campos de texto Variable $_GET: <PRE> Array ( [usuario] => fmartin [clave] => contraseña ) </PRE>

Control INPUT: selección de opciones El valor enviado por un formulario correspondiente a una selección de opciones es el valor del atributo value indicado en los controles que se hayan seleccionado Sólo se envía la información de los controles seleccionados Si no se indica un valor para el atributo value, el valor que se envía es on Si no se indican distintos valores para las opciones de una selección de tipo radio, entonces el valor enviado será siempre on y no servirá para distinguir la opción elegida

Control INPUT: selección de opciones Datos procedentes de selección de opciones <FORM action="documento.php"> Sexo: <INPUT type="radio" name="sexo" value="hombre"> Hombre <BR> <INPUT type="radio" name="sexo" value="mujer"> Mujer <BR> Edad: <INPUT type="radio" name="edad"> Menor de 18 <BR> <INPUT type="radio" name="edad"> Mayor de 18 <BR> Aficiones: <INPUT type="checkbox" name="hobby1" value="musica"> Música <BR> <INPUT type="checkbox" name="hobby2"> Cine <BR> <INPUT type="checkbox" name="hobby3"> Lectura <BR> <INPUT type="submit"> </FORM>

Control INPUT: selección de opciones Después de seleccionar las opciones Hombre, Mayor de 18, Música y Cine, el documento PHP genera el siguiente fragmento de código HTML Datos procedentes de selección de opciones Variable $_GET: <PRE> Array ( [sexo] => hombre [edad] => on [hobby1] => musica [hobby2] => on ) </PRE>

Control INPUT: campos ocultos El valor enviado por un formulario correspondiente a un campo oculto es el valor del atributo value indicado en dicho campo Datos procedentes de campos ocultos <FORM action="documento.php"> Usuario: <INPUT type="text" value="id" name="usuario"> <BR> Clave: <INPUT type="password" name="clave"> <BR> <INPUT type="hidden" name="control" value="campo oculto"> <BR> <INPUT type="submit"> </FORM>

Control INPUT: campos ocultos Al pulsar sobre el botón de envio de datos, el documento PHP genera el siguiente fragmento de código HTML Datos procedentes de campos ocultos Variable $_GET: <PRE> Array ( [control] => Campo oculto ) </PRE>

Botones El valor enviado por un formulario correspondiente a un botón es el valor del atributo value, siempre y cuando se haya incluido el atributo name en el control correspondiente Sólo se envía la información correspondiente al botón que se ha pulsado De esta forma se puede distinguir qué botón se ha pulsado para enviar un formulario Para los botones gráficos de envío de datos (control INPUT de tipo image), el formulario también envía las coordenadas donde se encontraba el cursor al pulsarlo Si se ha incluido el atributo name="nombre", entonces las coordenadas se envían como valores de las claves Nombre x y Nombre y Si no se ha indicado el atributo name, entonces las coordenadas se envían como valores de las claves x e y

Botones Datos procedentes de botones <FORM action="documento.php"> <INPUT type="submit" name="b1" value="enviar"> <INPUT type="reset" name="b2" value="borrar"> <INPUT type="button" name="b3" value="acción"> <BR> <INPUT type="image" name="b4" value="imagen" src="correcto.png"> <BUTTON type="submit" name="b5" value="enviar"> Enviar</BUTTON> <BUTTON type="reset" name="b6" value="borrar"> Borrar</BUTTON> <BUTTON type="button" name="b7" value="accion"> Acción</BUTTON> <BR> <BUTTON type="submit" name="b8" value="imagen"> <IMG src="correcto.png"></button> </FORM>

Botones Al pulsar sobre el botón gráfico de envio de datos, el documento PHP genera el siguiente fragmento de código HTML Datos procedentes de botones Variable $_GET: <PRE> Array ( [b4_x] => 11 [b4_y] => 9 [b4] => Imagen ) </PRE>

Cuadro de selección El valor enviado por un formulario correspondiente a un cuadro de selección es un array asociativo que almacena indexados desde 0 los valores de las opciones seleccionadas Si se trata de un campo de selección múltiple, entonces el valor del atributo name en la etiqueta SELECT tiene que terminar en corchetes [] Si no se indican los corchetes [] en el valor del atributo name en la etiqueta SELECT, entonces sólo se envía el último valor seleccionado de la lista de opciones El atributo name en las opciones de selección no tiene ninguna utilidad

Cuadro de selección Datos procedentes de un cuadro de selección <FORM action="documento.php"> Aficiones: <SELECT align="top" name="aficiones[]" size="3" multiple> <OPTION name="o1" value="v1">música</option> <OPTION name="o2" value="v2">cine</option> <OPTION name="o3" value="v3">lectura</option> <OPTION name="o4" value="v4">maquetas</option> <OPTION name="o5" value="v5">fotografía</option> <OPTION name="o6" value="v6">informática</option> </SELECT> </FORM>

Cuadro de selección Al seleccionar las opciones Música, Lectura y Fotografía, el documento PHP genera el siguiente fragmento de código HTML Datos procedentes de un cuadro de selección Variable $_GET: <PRE> Array ( [aficiones] => Array ( [0] => v1 [1] => v3 [2] => v5 ) ) </PRE>

Áreas de texto El valor enviado por un formulario correspondiente a un área de texto es el contenido de la etiqueta <TEXTAREA> En este caso se ignora el valor del atributo value Datos procedentes de un área de texto <FORM action="documento.php"> <TEXTAREA name="comentario" value="otro valor" rows="5" cols="20"> Escribe aquí tus comentarios </TEXTAREA> <INPUT type="submit"> </FORM>

Áreas de texto Al pulsar sobre el botón gráfico de envio de datos, el documento PHP genera el siguiente fragmento de código HTML Datos procedentes de un área de texto Variable $_GET: <PRE> Array ( ) </PRE> [comentario] => Escribe aquí tus comentarios

Control INPUT: selección de ficheros Si no se indica la codificación de contenido enctype="multipart/form-data" en la etiqueta FORM, entonces el valor enviado por un formulario correspondiente a un campo de selección de fichero es el contenido de dicho campo (el nombre del fichero) Datos procedentes de una selección de ficheros <FORM action="documento.php"> Fichero: <INPUT type="file" name="fichero"> <INPUT type="submit"> </FORM>

Control INPUT: selección de ficheros Al pulsar sobre el botón gráfico de envio de datos, el documento PHP genera el siguiente fragmento de código HTML Datos procedentes de una selección de ficheros Variable $_GET: <PRE> Array ( [fichero] => /home/fmartin/personal/simpsons.jpg ) </PRE>

Control INPUT: selección de ficheros Si se indica la codificación de contenido enctype="multipart/form-data" en la etiqueta FORM, entonces el valor enviado por un formulario correspondiente a un campo de selección de fichero es un array asociativo con el nombre, el tipo, la localización temporal en el servidor, el tamaño y un código de error, que se almacena en el array asociativo $ FILES Datos procedentes de una selección de ficheros <FORM action="documento.php" enctype="multipart/form-data"> Fichero: <INPUT type="file" name="fichero"> <INPUT type="submit"> </FORM>

Control INPUT: selección de ficheros Al pulsar sobre el botón gráfico de envio de datos, el documento PHP genera el siguiente fragmento de código HTML Datos procedentes de una selección de ficheros Variable $_FILES: <PRE> Array ( [fichero] => Array ( [name] => simpsons.jpg [type] => image/jpeg [tmp_name] => /tmp/phpi9bspq [error] => 0 [size] => 175101 ) ) </PRE>

Control INPUT: selección de ficheros El fichero enviado se almacena en el servidor en la localización temporal indicada Dicho fichero deja de existir en cuanto se termina de enviar la respuesta al cliente Para acceder al contenido de dicho fichero se ha de utilizar la función PHP file get contents Para preservar el fichero enviado, hay que almacenar el contenido del fichero temporal en algún otro sitio

Control INPUT: selección de ficheros Fichero contenido.php <HTML> <HEAD> <TITLE>Documento PHP de respuesta</title> </HEAD> <BODY> El contenido del fichero que has enviado es: <BR> <PRE> <?php echo file_get_contents($_files["fichero"][tmp_name]);?> </PRE> </BODY>

Sesiones El registro de un usuario en una Web permite proporcionar a éste una versión personalizada de la página Web solicitada Las variables de registro (disponibles en $ GET o $ POST) sólo existen en el momento de establecer la comunicación con el servidor La comunicación de un navegador con el servidor Web es efimera, sólo se mantiene para una página Web cada vez Las sesiones permiten mantener la comunicación entre un navegador y el servidor Web para un conjunto de páginas Web Así podemos personalizar todo un conjunto de páginas Web para un mismo usuario sin necesidad de pedirle identificación

Sesiones Una sesión es una secuencia de comunicaciones sucesivas entre un navegador y un sitio Web a las que se les asigna un identificador común Para utilizar sesiones en PHP lo primero es inicializarlas De forma expĺıcita, mediante la función session start() De forma impĺıcita, registrando una variable en la sesión mediante la función session register( mivariable ) Es conveniente que estas funciones aparezcan al comienzo del fichero, antes de cualquier otra instrucción PHP, etiqueta HTML o ĺınea en blanco En ambos casos se crea una nueva sesión, si no existe, o se retoma la sesión actual Las variables de sesión se almacenan en $ SESSION La sesión termina Cuando se cierra el navegador en que se inició De forma expĺıcita con la función session destroy()

Sesiones Fichero sesion-0.php <?php session_register( contador ); session_register( usuario ); $_SESSION[ usuario ] = fmartin ;?> <HTML> <HEAD> <TITLE>Inicio de sesión</title> </HEAD> <BODY> <A HREF="sesion-1.php">Otro documento de sesión</a> </BODY> </HTML>

Sesiones Fichero sesion-1.php <?php session_start(); $_SESSION[ contador ]++;?> <HTML> <HEAD> <TITLE>Otro documento de sesión</title> </HEAD> <BODY> <A HREF="sesion-1.php">Otro documento de sesión</a> <BR> <A HREF="sesion-2.php">Variables de sesión</a> </BODY> </HTML>

Sesiones Fichero sesion-2.php <?php session_start();?> <HTML> <HEAD> <TITLE>Variables de sesión</title> </HEAD> <BODY> <PRE> <?php print_r($_session)?> </PRE> <A HREF="sesion-2.php">Variables de sesión</a> </BODY> </HTML> <?php session_destroy();?>