Curso de PHP Tema 3: Formularios.

Slides:



Advertisements
Presentaciones similares
Presentación de Visual Web Developer 2005 Express Edition Alfonso Goyeneche Torres Presidencia Nacional Comunidad Académica Microsoft Junta Directiva Nacional.
Advertisements

Departamento de Comunicación Instituto Tecnológico y de Estudios Superiores de Monterrey, Campus Estado de México Instituto Tecnológico y de Estudios.
Curso de PHP Tema 5: Sesiones.
Internet y tecnologías web
Fernando Alonso Blázquez Formularios en lenguaje HTML 26 de Febrero de 2004.
Fernando Alonso Blázquez Programación en páginas Web: JavaScript 04 de Marzo de 2004.
El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Configurar un curso (Función del profesor) Editar el nombre, el nombre corto y el informe (que se muestra en la portada) Escoger la formato del curso y.
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
Modelando aplicaciones
M.C. Rafael A. García Rosas.
ARCHIVOS EN PHP.
EMILIO JOSE CORRALES JUAN STIVEN SATIZABAL
Prototype es un Framework JavaScript que busca facilitar el desarrollo de aplicaciones Web dinámicas. Ofrece un conjunto de herramientas orientado a objetos.
Desarrollo de sitios web con PHP y MySQL Tema 3: Formularios José Mariano González Romano
Control de eventos con Javascript
Subir Ficheros al Servidor con PHP José Sánchez Galvañ.
Curso de PHP Tema 6: Seguridad.
Tema 2: Lenguaje PHP básico
Introduccion a las páginas WEB HTML
El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Desarrollo de sitios web con PHP y MySQL Tema 7: Seguridad José Mariano González Romano
CURSO DE PHP (Nivel I)CURSO DE PHP (Nivel I) CURSO DE PHP NIVEL I Facilitador: Oscar Caldeira Ing. De Sistemas.
Fundamentos de Javascript Desarrollo de Aplicaciones para Internet.
Laboratorio 7 Paginas Dinámicas Universidad de Chile – Bachillerato Curso: Computación Cristian Wilckens Patricio Bahamondes Fecha: 28 de Mayo del 2010.
Formularios en lenguaje HTML 7 de Abril de Índice Generalidades Definición en HTML Elementos Formas de envío: métodos GET y POST Recepción y tratamiento.
Antonio Becerra Terón Departamento de Lenguajes y Computación Universidad de Almería Desarrollo de aplicaciones PHP para bases de datos.
RESUMENCURSO STRUTS 2 Resumen de lo visto en este tercer módulo: VISTA del framework Struts 2 Debes tener los conceptos muy claros sobre: Results UI Tags.
Desarrollo de sitios web con PHP y MySQL Tema 5: Sesiones José Mariano González Romano
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Ingeniero Anyelo Quintero
ADMINISTRACION DE REDES SECUNECIA DE COMANDOS EN SITIOS CRUZADOS(XSS) DIEGO ALEXANDER MADRID DUQUE GABRIEL ANDRES AGUIRRE JARAMILLO INSTITUTO TECNOLOGICO.
Herramientas informáticas Hojas de cálculo
FORMULARIOS HTML TIPOS DE ELEMENTOS DE FORMULARIO n Campos de entrada de datos. n Campos de datos de varias líneas. n Listas. n Botones. n Textos descriptivos.
Ingeniero Anyelo Quintero
Php y MySql Informática aplicada. Marcas Un documento HTML (Hyper Text Mark Languaje) esta compuesto por marcas o etiquetas. Las marcas delimitan elementos.
PHP TODO SOBRE PHP.
Prof. José T. Cadenas. Aplicación Web La Internet y la Web hacen que sea fácil y atractivo poner toda la información en el cyberespacio, y la hace accesible.
HTML II Etiquetas en el Cuerpo (BODY) Imágenes - Links Formularios Introducción a CSS Introducción a Javascript Introducción a PHP.
¿Qué son los formularios? Los formularios son posiblemente la herramienta más utilizada en Internet para obtener datos e información acerca de la gente.
F o r m u l a r i o s. Introducción. En los sistemas informáticos basados en la Web es muy común encontrar formularios para recopilar información. HTML.
HTML M.G.T.I. María Enriqueta Castellanos Bolaños Facultad de Matemáticas, UADY.
ATAQUES POR INYECCION DE CODIGO SQL
Desarrollo de sitios web con PHP y MySQL
Programación Web Unidad 4. Procesamiento del lado del cliente.
Ihr Logo PHP Parte 4 “manejo de formularios”. Your Logo Formularios  El proceso para el manejo de FORMULARIOS html requiere generalmente dos páginas,
Php y MySql Bases de datos. Marcas Las marcas delimitan elementos de un documento como cabeceras, párrafos, etc y son utilizadas para dar un tratamiento.
Introducción a ataques de tipo inyección: Inyección SQL
Semana 12 herramientas de visual basic
Programación Web Dinámica Universidad Nacional del Comahue Facultad de Informática Generador de Captcha.
Tu buscador de radio. Grouple es un buscador de emisoras de radio a través de internet, mediante el cual podrás encontrar cualquier emisora del mundo.
CREACIÓN DE PÁGINAS WEB CON SHAREPOINT DESIGNER 2007 (Sesión 5) Ricardo Ferrís Castell ( ) Departament D ’ Informàtica.
Haga clic para modificar el estilo de subtítulo del patrón 18/06/09 Procesamiento de formularios en PHP. Ejercicios.
Tema 11 Bases de Datos y el Lenguaje SQL
HTML Creación de Formularios.. Diseñar es una actividad abstracta que implica programar, proyectar, traducir lo invisible en visible, comunicar. Jorge.
1     Sistema de gestión de contactos PARQUE E Miércoles, 29 de Abril de 2015   
Manual PHP Básico Camilo Cartagena.
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
Administración de Sitios Web Introducción al Lenguaje PHP
Creación de páginas Web (II) Formularios Pau Barceló Forteza
GET POST Isc. Abraham Fernández Espinosa Universidad ICEP.
Aday de la Cruz Guedes Dariel González Rodríguez Alejandro Tacoronte Ojeda.
Universidad de MendozaTeleinformática I  Pasando datos  Links  Formularios  Controles  Método del formulario  Get  Post  Leyendo los datos desde.
LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES Programación de Interfaces Unidad 2.
Introducción a programación web Martin Esses. En las presentaciones anteriores, vimos como enviar datos a un controlador usando POST y como generar formularios.
Angel Vicente Romero Galindo
Desarrollo de sitios web con PHP y MySQL Formularios José Mariano González Romano
Formularios HTML.
Transcripción de la presentación:

Curso de PHP Tema 3: Formularios

Tema 3: Formularios Acceso a formularios HTML desde PHP El formulario de PHP Subida de ficheros al servidor Campos dinámicos con JavaScript Validación de los datos de un formulario

Acceso a formularios desde PHP Desde PHP se puede acceder fácilmente a los datos introducidos desde un formulario HTML Veámoslo con un ejemplo simple

Acceso a formularios desde PHP Fichero uno.php <HTML> <BODY> <FORM ACTION=”dos.php” METHOD=”POST”> Edad: <INPUT TYPE=”text” NAME=”edad”> <INPUT TYPE=”submit” VALUE=”aceptar”> </FORM> </BODY> </HTML> Fichero dos.php <?PHP print (“La edad es: $edad”); ?>

Acceso a formularios desde PHP

Acceso a formularios desde PHP A partir de PHP 4.2.0, el valor por defecto de la directiva de PHP register_globals es off Esto tiene una gran importancia sobre los formularios, ya que no es posible acceder a las variables enviadas de la manera anterior (como variables globales). En su lugar hay que utilizar la variable predefinida de PHP $_REQUEST, escribiendo $_REQUEST[‘edad’] en lugar de $edad Se puede poner register_globals = on en el fichero de configuración php.ini, pero no es recomendable por motivos de seguridad. Una alternativa que permite hacer mínimos cambios en el código ya existente es la siguiente: $edad = $_REQUEST[‘edad’];

Acceso a formularios desde PHP Fichero uno.php <HTML> <BODY> <FORM ACTION=”dos.php” METHOD=”POST”> Edad: <INPUT TYPE=”text” NAME=”edad”> <INPUT TYPE=”submit” VALUE=”aceptar”> </FORM> </BODY> </HTML> Fichero dos.php <?PHP $edad = $_REQUEST[‘edad’]; print (“La edad es: $edad”); ?>

Acceso a formularios desde PHP Ejercicio 1: formulario simple Ilustra cómo acceder a los valores introducidos desde un formulario HTML

Acceso a formularios desde PHP Acceso a los diferentes tipos de elementos de entrada de formulario Elementos de tipo INPUT TEXT RADIO CHECKBOX BUTTON FILE HIDDEN PASSWORD SUBMIT Elemento SELECT Simple / múltiple Elemento TEXTAREA

Acceso a formularios desde PHP TEXT Introduzca la cadena a buscar: <INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20"> <?PHP print ($cadena); //print ($_REQUEST [‘cadena’]); ?>

Acceso a formularios desde PHP RADIO <INPUT TYPE="radio" NAME="titulacion" VALUE=“II“ CHECKED>I.Informática <INPUT TYPE="radio" NAME="titulacion" VALUE="ITIG">I.T.I. Gestión <INPUT TYPE="radio" NAME="titulacion" VALUE="ITIS">I.T.I. Sistemas <?PHP print ($titulacion); //print ($_REQUEST [‘titulacion’]); ?>

Acceso a formularios desde PHP CHECKBOX <INPUT TYPE="checkbox" NAME="extras[]" VALUE="garaje" CHECKED>Garaje <INPUT TYPE="checkbox" NAME="extras[]" VALUE="piscina">Piscina <INPUT TYPE="checkbox" NAME="extras[]" VALUE="jardin">Jardín <?PHP $n = count ($extras); for ($i=0; $i<$n; $i++) print (“$extras[$i]<BR>\n”); //foreach ($_REQUEST[‘extras’] as $extra) //print (“$extra<BR>\n”); ?>

Acceso a formularios desde PHP BUTTON <INPUT TYPE="button" NAME="nueva" VALUE="Añadir una más"> <?PHP if ($nueva) print ("Se va a añadir una nueva"); //if ($_REQUEST [‘nueva’]) //print ("Se va a añadir una nueva"); ?>

Acceso a formularios desde PHP FILE <FORM ACTION="procesa.php" METHOD="post“ ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="fichero"> </FORM>

Acceso a formularios desde PHP HIDDEN <?PHP print(“<INPUT TYPE=’hidden’ NAME=’username’ VALUE=’$usuario’>\n”); ?> print ($username); //print ($_REQUEST [‘username’]);

Acceso a formularios desde PHP PASSWORD Contraseña: <INPUT TYPE="password" NAME="clave"> <?PHP print ($clave); //print ($_REQUEST [‘clave’]); ?>

Acceso a formularios desde PHP SUBMIT <INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos"> <?PHP if ($enviar) print ("Se ha pulsado el botón de enviar"); //if ($_REQUEST [‘enviar’]) //print ("Se ha pulsado el botón de enviar"); ?>

Acceso a formularios desde PHP SELECT simple <SELECT NAME="titulacion"> <OPTION VALUE="II" SELECTED>Ingeniería Informática <OPTION VALUE="ITIG">Ingeniería Técnica en Informática de Gestión <OPTION VALUE="ITIS">Ingeniería Técnica en Informática de Sistemas </SELECT> <?PHP print ($titulacion); //print ($_REQUEST [‘titulacion’]); ?>

Acceso a formularios desde PHP SELECT múltiple <SELECT MULTIPLE SIZE="3" NAME="idiomas[]"> <OPTION VALUE="ingles" SELECTED>Inglés <OPTION VALUE="frances">Francés <OPTION VALUE="aleman">Alemán <OPTION VALUE="holandes">Holandés </SELECT> <?PHP $n = count ($idiomas); for ($i=0; $i<$n; $i++) print (“$idiomas[$i]<BR>\n”); //foreach ($_REQUEST[‘idiomas’] as $idioma) //print (“$idioma<BR>\n”); ?>

Acceso a formularios desde PHP TEXTAREA <TEXTAREA COLS=“30" ROWS=“4" NAME="comentario"> Este libro me parece ... </TEXTAREA> <?PHP print ($comentario); //print ($_REQUEST [‘comentario’]); ?>

Acceso a formularios desde PHP Ejercicio 2: programa que muestra los datos introducidos desde un formulario Ilustra cómo acceder a los valores introducidos desde todos los tipos de elementos de entrada de un formulario, con excepción de los tipos BUTTON y FILE, que se tratan en ejercicios posteriores

El formulario de PHP La forma habitual de trabajar con formularios en PHP es utilizar un único programa que procese el formulario o lo muestre según haya sido o no enviado, respectivamente Ventajas: Disminuye el número de ficheros Permite validar los datos del formulario en el propio formulario Procedimiento: si se ha enviado el formulario: Procesar formulario si no: Mostrar formulario fsi

El formulario de PHP Para saber si se ha enviado el formulario se acude a la variable correspondiente al botón de envío. Si este botón aparece de la siguiente forma en el formulario HTML: <INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar"> entonces la condición anterior se transforma en: if (isset($enviar)) o bien if ($enviar == “procesar”)

El formulario de PHP Ejercicio 3: formulario de PHP Ilustra cómo crear páginas multipropósito que sirven tanto para mostrar un formulario como para procesarlo

Subida de ficheros al servidor Para subir un fichero al servidor se utiliza el elemento de entrada FILE Hay que tener en cuenta una serie de consideraciones importantes: El elemento FORM debe tener el atributo ENCTYPE="multipart/form-data“ El fichero tiene un límite en cuanto a su tamaño. Este límite se fija de dos formas diferentes: En el fichero de configuración php.ini En el propio formulario

Subida de ficheros al servidor php.ini ;;;;;;;;;;;;;;;; ; File Uploads ; ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for HTTP uploaded files (will use ; system default if not specified). ;upload_tmp_dir = ; Maximum allowed size for uploaded files. upload_max_filesize = 2M formulario <INPUT TYPE=”HIDDEN” NAME=”MAX_FILE_SIZE” VALUE='102400'> <INPUT TYPE=”FILE” NAME="fichero">

Subida de ficheros al servidor Consideraciones (cont) Debe darse al fichero un nombre que evite coincidencias con ficheros ya subidos. Por ello, y como norma general, debe descartarse el nombre original del fichero y crear uno nuevo que sea único El fichero subido se almacena en un directorio temporal y hemos de moverlo al directorio de destino usando la función move_upload_file() Procedimiento: si se ha subido correctamente el fichero: Asignar un nombre al fichero Mover el fichero a su ubicación definitiva si no: Mostrar un mensaje de error fsi

Subida de ficheros al servidor HTML <INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="102400"> <INPUT TYPE="FILE" SIZE="44" NAME="imagen"> La variable $_FILES contiene toda la información del fichero subido: $_FILES['imagen']['name'] Nombre original del fichero en la máquina cliente $_FILES['imagen']['type'] Tipo mime del fichero. Por ejemplo, "image/gif" $_FILES['imagen']['size'] Tamaño en bytes del fichero subido $_FILES['imagen']['tmp_name'] Nombre del fichero temporal en el que se almacena el fichero subido en el servidor $_FILES['imagen’]['error'] Código de error asociado al fichero subido

Subida de ficheros al servidor PHP if (is_uploaded_file ($_FILES['imagen']['tmp_name'])) { $nombreDirectorio = "img/"; $idUnico = time(); $nombreFichero = $idUnico . "-" . $_FILES['imagen']['name']; move_uploaded_file ($_FILES['imagen']['tmp_name'], $nombreDirectorio . $nombreFichero); } else print ("No se ha podido subir el fichero\n");

Subida de ficheros al servidor Ejercicio 4: subida de un fichero al servidor Ilustra cómo subir ficheros a un servidor, cómo controlar su tamaño, cómo crear un nombre único para el fichero y cómo almacenarlo en el lugar deseado

Campos dinámicos con JavaScript Es habitual que un campo de un formulario deba cambiar de valor al modificarse otro campo del mismo formulario Si el nuevo valor está almacenado en una base de datos, la solución es volver a cargar el formulario con los nuevos requisitos En algunos casos el nuevo valor puede calcularse de forma automática, para lo cual podemos usar JavaScript Ejemplo: introducción de una fecha

Campos dinámicos con JavaScript Ejercicio 5: formulario con campos que se actualizan dinámicamente Ilustra cómo actualizar el valor de un campo de un formulario en función del valor de otro, por medio de funciones en JavaScript

Validación de formularios Toda la información proveniente de un formulario debe considerarse por norma como contaminada, y hay que validarla antes de darla por buena y procesarla Lo más eficiente es mostrar los errores sobre el propio formulario para facilitar su corrección. Procedimiento: si se ha enviado el formulario: si hay errores: Mostrar formulario con errores si no: Procesar formulario fsi Mostrar formulario

Validación de formularios Este procedimiento se puede resumir para que sólo haya que mostrar una vez el formulario, bien con los valores por defecto o con los valores introducidos, y con los errores en su caso: si se ha enviado el formulario: validar datos fsi si se ha enviado el formulario y no hay errores: Procesar formulario si no: Mostrar formulario con valores por defecto o ya enviados

Validación de formularios Ejercicio 6: validación de los datos introducidos en un formulario Ilustra cómo realizar una validación de los datos introducidos en un formulario en el propio formulario