Práctica 4 Estado de la sesión. Más sobre Eventos Universidad de Oviedo Comercio Electrónico.

Slides:



Advertisements
Presentaciones similares
ANALISIS Y DISEÑO ORIENTADO A OBJETOS
Advertisements

Curso de PHP Tema 5: Sesiones.
1 Curso Básico de C.I.O. Light Sección 12 Internet Sección 12 - Internet.
Internet y tecnologías web
Fernando Alonso Blázquez Sesiones 06 de Mayo de 2004.
Componentes de ASP.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft.
CI-2413 Desarrollo de Aplicaciones para Internet
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Mejoras introducidas MARKETING GIO. El proceso lógico para hacer uso de la utilidad de marketing se tendrán en cuenta 3 puntos: 1.Segmentación de la base.
GUÍA DEL POSTULANTE Esta Guía le proporcionará ayuda para realizar de manera efectiva, postulaciones a Concursos de Alta Dirección Pública.
A continuación explicamos los pasos a seguir para cargar un pedido en nuestra página web. 1.Ingresar a 2. Loguearse.
Access Bases de datos.
"java del lado del servidor" Servlet y JSP Java Server Pages.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
José Antonio Rastoll Pérez Presentación PI. Índice 1. EL OBJETO SESSION Introducción. Propiedades. Funcionamiento. Variables de sesión, desventajas y.
Los condicionales IF en PHP Programación en Internet II.
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
QUE ES INTERNET Podríamos decir que Internet está formado por una gran cantidad de ordenadores que pueden intercambiar información entre ellos. Es una.
Sesión en Servlets 31 de Marzo de Índice ¿Por qué seguir la trayectoria de usuarios? Formas de seguir la trayectoria de usuarios –Cookies –Reescritura.
Controlde acceso mediante sesiones índice 1. Introducción 2. Comenzar sesión Control de acceso mediante sesiones 3. Estructura de página 4. Autentificación.
Herramientas digitales
Igor Santos Grueiro. Ahora tenemos datos y datos …
Ingeniero Anyelo Quintero
Almacenar variables en cookies en PHP
DR. ERNESTO SUAREZ.
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
BASES DE DATOS Con Access.
Fundamentos de bases de datos:
Ventajas y desventajas de enviar variables por el método GET
3. Espacios de trabajo. Manual de formación 2 3. Espacios de trabajo 3.1 Introducción … ……pág.45.
Uso de las Sesiones Temas: Creación de sesiones Lectura de sesiones Borrado de sesiones.
Si usted visita el sitio directamente usted podrá ver la página a continuación. Si usted sigue el vínculo desde.
Copiando y pegando archivos enteros Programación en Internet II.
Clientes Web [PHP] Paso de datos::GET.. Paso de datos Toda variable existe mientras nos encontremos en el mismo documento que fue declarada. Cuando me.
Publicación de bases de datos Access en la web
Ihr Logo PHP Parte 4 “manejo de formularios”. Your Logo Formularios  El proceso para el manejo de FORMULARIOS html requiere generalmente dos páginas,
NUEVO DISEÑO SITIO WEB EXPLORA REGIÓN METROPOLITANA Resultados en cuanto a tráfico, posicionamiento y nuevas herramientas.
Entramos en la página web. Introducimos nuestro nombre de usuario y contraseña.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Bases de Datos.
 Claudia Jordan Idrovo.  Son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica.
S ERVICIOS DE RED E I NTERNET T EMA 6 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS DE CORREO ELECTRÓNICO Nombre: Adrián de la Torre López.
Título Calibri 28 puntos 2015 Subtítulos: Calibri mínimo 18 ptos y máximo 23 ptos.
PHP con Bases de Datos Tema 10 Sesiones y Cookies Cookies SetCookie
Tema 6 – Servicio de Correo Electrónico
NOMBRE: KENIA MACÍAS. RECOMENDACIONES PARA HACER UN FORMULARIO En un sistema web, en muchas ocasiones es necesario obtener información del usuario y para.
Support.ebsco.com Búsqueda avanzada guiada de EBSCOhost Tutorial.
Tema 11 Bases de Datos y el Lenguaje SQL
Introducción a phpMyAdmin
Ing. Vanessa Borjas. Entorno gráfico En un entorno gráfico se tiende a que cada uno de los programas esté compuesto por un formulario, aunque no es una.
PRÁCTICA 3: DISEÑO CENTRADO EN EL USUARIO Pedro Rivero Barrera Gonzalo Serrano Espada.
Utilizar Costo Promedio Ponderado en el Software Administrativo SAW
GUIA para la adscripción de centros o grupos de trabajo promotores y registro de experiencias en la Red de Experiencias de Educación para la Salud en la.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
HTTP Session Management Desarrollo de Aplicaciones para Internet.
MIA - Grupo 5 Unidad 2.
ADMINISTRACIÓN DE REDES SIZING de Servidores.
¿Cómo programar un Botón para agregar registros a una base de datos?
GET POST Isc. Abraham Fernández Espinosa Universidad ICEP.
Instalación y puesta en marcha Applicacione s móviles de EVO.
Plataformas e- learning Moodle. Instalacion  Descargamos Moodle de su página oficial  Una vez hemos descargado el archivo, lo descomprimimos y copiamos.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
Curso de programación Visual Chart 6 (1ªEd.)
Introducción a programación web Martin Esses. Los datos almacenados en las bases de datos normalmente son mostrados en nuestras vistas. Para que nuestras.
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.
Escuela Superior Politécnica de Chimborazo Facultad de Administración de Empresas Escuela de Ingeniería en Marketing Jonathan Yamasca Tercero 2.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
Transcripción de la presentación:

Práctica 4 Estado de la sesión. Más sobre Eventos Universidad de Oviedo Comercio Electrónico

Comercio Electrónico (EUITIO) 2 IntroducciónIntroducción  Veremos los objetos RequestResponseCookies  Aprenderemos a mantener el estado de la sesión del usuario entre distintas peticiones de páginas Session

Comercio Electrónico (EUITIO) 3 El objeto Response  Permite enviar datos al cliente Normalmente, en las páginas en ASP tradicional, enviábamos contenido HTML al navegador a través de este objeto En ASP.NET sigue siendo posible hacerlo asíResponse.Write(string.Format( “La hora es: {0} ”, “La hora es: {0} ”, DateTime.Now.ToShortTimeString())); DateTime.Now.ToShortTimeString())); Pero no es lo habitual controles del lado del servidor –Lo normal es trabajar con controles del lado del servidor  Y generar el contenido dinámico en el código de la página, accediendo a las propiedades de dichos controles

Comercio Electrónico (EUITIO) 4 Redirigir a otra página  Éste sí sigue siendo otro uso habitual en ASP.NET  El objeto Response permite redirigir a otra página distinta En función de la lógica de la aplicación –Por ejemplo, para mostrar un error personalizado, para mostrar los detalles de un artículo seleccionado, para ver la cesta de la compra… Response.Redirect(“Bienvenido.aspx”); Response.Redirect(“Bienvenido.aspx”);

Comercio Electrónico (EUITIO) 5 CookiesCookies  Permiten mantener la sesión del usuario guardando datos en el cliente  Aunque no son lo bastante robustas como para guardar objetos complejos (conexiones a BD, objetos de negocio…) sí se pueden usar para guardar la información necesaria para luego crear esos objetos en el servidor Por ejemplo, mediante un identificador de usuario con el que luego recuperemos toda su información asociada mediante consultas a la base de datos

Comercio Electrónico (EUITIO) 6 Crear y enviar una ‘cookie’ HttpCookie cookie = new HttpCookie(“MiAplicacion”); cookie.Values.Add(“IDUsuario”, “1250”); Response.Cookies.Add(cookie);  Crearía una ‘cookie’ de sesión  Si quisiéramos una persistente: HttpCookie cookie = new HttpCookie(“MiAplicacion”); cookie.Expires = Convert.ToDateTime(“12/01/05 16:00”); cookie.Values.Add(“IDUsuario”, “1250”); Response.Cookies.Add(cookie);

Comercio Electrónico (EUITIO) 7 Leer el valor de una ‘cookie’ HttpCookie cookie = Request.Cookies[“MiAplicacion”]; if (cookie == null) // no se encontró la cookie // no se encontró la cookieelse{ string s = cookie.Values[“IDUsuario”].ToString(); string s = cookie.Values[“IDUsuario”].ToString(); if (s.Trim().Length == 0) if (s.Trim().Length == 0) // se encontró la cookie, pero está vacía // se encontró la cookie, pero está vacía else else // se encontró la cookie y tenía un valor // se encontró la cookie y tenía un valor}

Comercio Electrónico (EUITIO) 8 Colecciones QueryString y Form  Permiten recoger los parámetros enviados a una página.aspx mediante GET y POST, respectivamente Al igual que en ASP tradicional, o los Servlet/JSP, o CGI…  Son miembros de la clase HttpRequest Request Accesibles a través del objeto predefinido Request  No obstante, en ASP.NET no hay necesidad de leer las variables del formulario a través de estas colecciones Dado que estos valores están presentes en el código de la página como variables miembros (controles de ASP.NET) Lo normal es acceder a estos valores a través de los eventos generados –De hecho, en ASP.NET lo normal es que el formulario de la página se envíe a la misma página, no a otra distinta

Variables de sesión Veamos ahora otra forma de mantener la sesión sin usar ‘cookies’, por medio de la variable Session que provee ASP.NET y que almacena objetos en memoria en el servidor mientras dura la sesión.

Comercio Electrónico (EUITIO) 10 Variables de sesión  Permiten almacenar datos que persisten entre sucesivas peticiones de páginas Similar a las variables globales en una aplicación tradicional  ASP.NET provee el objeto predefinido Session  ¿Cómo funciona internamente? ID de sesión Cuando ASP.NET recibe la primera petición de página de un usuario, genera un ID de sesión único mediante un complejo algoritmo y lo guarda en una cookie en el navegador del cliente Session Para las siguientes peticiones, busca dicha cookie, recupera el ID de la sesión y lo usa para acceder al objeto Session de ese usuario –En ese objeto podemos guardar objetos y recuperar esa información en cualquier momento mientras dure la sesión

Comercio Electrónico (EUITIO) 11 Sección sessionState en el fichero Web.Config  En ese fichero puede configurarse el modo en que guarda ASP.NET la sesión del usuario Por ejemplo, podríamos decirle que no usase cookies –Si no, estamos obligando a que nuestros usuarios las tengan activadas (al menos las de sesión)  En principio, no necesitamos tocar nada ahí  Está dentro de la sección sessionState

Comercio Electrónico (EUITIO) 12 Guardar datos en sesión  Podemos hacerlo de una cualquiera de estas dos formas (hacen exactamente lo mismo): Session[“IDUsuario”] = CampoUsuario.Text;  o: Session.Add(“IDUsuario”, CampoUsuario.Text);  Podemos guardar un objeto de cualquier tipo object Es decir, un object

Comercio Electrónico (EUITIO) 13 Recuperar una variable de sesión  Basta con hacer lo siguiente: string s = (string) Session[“IDUsuario”];

Comercio Electrónico (EUITIO) 14 Ejercicio con variables de sesión  Crear una página que permita introducir un nombre en un campo de texto y que tenga un botón “Ir” Como la que se muestra a continuación

Comercio Electrónico (EUITIO) 15 Ejercicio: primera página

Comercio Electrónico (EUITIO) 16 ¿Qué pasa al pulsar el botón?  Se deberá llamar a otra página (recuérdese el Response.Redirect ) tras haber guardado previamente en el objeto Session el nombre introducido por el usuario  ¿Dónde hacemos eso? Click En el evento Click del botón ( ).aspx Basta con pulsar sobre el botón dos veces, en la vista de diseño de la página.aspx, y Visual Studio.NET creará el método para manejar el evento por nosotros  Esa otra página simplemente recuperará el valor del nombre almacenado y lo mostrará

Comercio Electrónico (EUITIO) 17 Resultado de pulsar el botón

Comercio Electrónico (EUITIO) 18 Algunas consideraciones  El objeto Session, en una aplicación Web empresarial, no debería usarse para guardar grandes cantidades de datos  En vez de eso, es mejor guardar sólo la información mínima necesaria para reconstruir esos objetos Por ejemplo, guardando una clave primaria que luego nos permita recuperar la información de la base de datos

Comercio Electrónico (EUITIO) 19 Otros métodos de Session  También tiene métodos para borrar variables de la sesión: RemoveRemoveAtRemoveAllClear  O para abandonar la sesión actual: Abandon

Más sobre eventos Aunque en la primera práctica sobre ASP.NET ya trabajamos con eventos, veremos ahora alguna cosa un poco más compleja: cómo diferenciar entre distintos generadores de un mismo evento.

Comercio Electrónico (EUITIO) 21 Averiguar quién generó el evento  Supongamos que queremos una lista de productos con un botón ( Button, LinkButton, ImageButton ) para mostrar los detalles de ese producto, o para añadirlo a la cesta de la compra… Si esos botones fuesen estáticos (añadidos en tiempo de diseño), no tendríamos ningún problema: Click –Programaríamos el evento Click de cada uno de ellos Pero, ¿qué pasa si son creados dinámicamente? –Es necesario distinguirlos (saber cuál se pulsó)

Comercio Electrónico (EUITIO) 22 CommandName y CommandArgument  Son dos propiedades que tienen los distintos tipos de botones string La primera es de tipo string object La segunda puede albergar cualquier tipo de objeto ( object )

Comercio Electrónico (EUITIO) 23 Evento Command  Además del evento Click, los botones tienen un evento Command, que también se lanza cuando son pulsados CommandEventArgsEventArgs La diferencia es que éste recibe un parámetro de tipo CommandEventArgs, en vez de EventArgs CommandNameCommandArgument A través de dicho parámetro podemos acceder a las propiedades CommandName y CommandArgument del botón que generó el evento private void BotonPulsado(object sender, System.Web.UI.WebControls.CommandEventArgs e) {... e.CommandName... e.CommandArgument }

Comercio Electrónico (EUITIO) 24 Ejemplo: DosBotones.aspx  Como prueba vamos a hacer una página que conste de dos botones, a los cuales vamos a asociarles el mismo evento Command  La página deberá mostrar qué botón se pulsó Click Esto es sólo para probar lo anterior, pero realmente éste es uno de esos casos en los que nos bastaría con tener un par de eventos Click, uno para cada botón, y programar cada uno de esos métodos manejadores como quisiéramos

Comercio Electrónico (EUITIO) 25 EjercicioEjercicio  Ahora vamos a ver un ejemplo más real, en el que los botones se generan dinámicamente  Sea una base de datos de artículos Por ejemplo, libros que tengan un código, un título, y un precio  Mediante un control Repeater, obtener un listado de los títulos de todos los libros y añadir algún tipo de botón al lado de cada título para “añadir el libro a la cesta de la compra” Label Realmente, lo que hará, por ahora, será simplemente mostrar el código del libro correspondiente en un control Label de la página  En este caso, se generará el evento Item_Command del control Repeater Púlsese dos veces sobre el control en la vista de diseño de la página.aspx y Visual Studio generará el método apropiado para responder a dicho evento

Comercio Electrónico (EUITIO) 26 Listado de los libros

Comercio Electrónico (EUITIO) 27 Al pulsar en uno…

Juntándolo todo…

Comercio Electrónico (EUITIO) 29 EjercicioEjercicio  Haciendo uso de lo que vimos hasta ahora, crear un pequeño sistema de registro de usuarios  Constará de: Base de datos de usuario –ID de usuario, Contraseña, Nombre, Apellidos Pantalla inicial –Pedirá el nombre de usuario y la contraseña –Al pulsar el botón se comprobará si existe un usuario con esa contraseña  Si es así, se mostrará la pantalla de bienvenida Guardando en sesión el ID de usuario  Si no, un pequeño mensaje de error en la misma página Pantalla de bienvenida –Accederá a la BD con el ID de usuario para mostrar su nombre

Comercio Electrónico (EUITIO) 30 Página inicial