0% encontró este documento útil (0 votos)
24 vistas12 páginas

Tema 12

Php, CRUD, Mysql
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas12 páginas

Tema 12

Php, CRUD, Mysql
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Aplicaciones y Servicios Web

Ingeniería de Sistemas Cotecnova

Curso AVACO

APLICACIONES Y SERVICIOS WEB -20241


sesiones
Una de las limitaciones de las páginas web es que cada página web es un documento independiente. Eso hace que dos
programas PHP no puedan, en principio, compartir información. Las sesiones permiten que páginas distintas puedan acceder
a una variable común, la matriz $_SESSION.
Las sesiones no deben confundirse con las cookies. Las cookies es un método que permite guardar información en el
ordenador del cliente para recuperarla en el futuro, mientras que en las sesiones la información se mantiene en el servidor
hasta que se cierra la sesión (por intervención del usuario o por tiempo).
División de sesiones
El trabajo con sesiones consta de tres partes:
• Creación o apertura de la sesión: cuando alguna página crea una sesión utilizando la función correspondiente, el servidor asocia al
navegador del usuario un identificador de usuario único. El identificador se guarda en el usuario en forma de cookie o, si el
navegador del usuario no permite la creación de cookies, añadiendo el identificador en la dirección de la página.
• Utilización de la sesión: si ya se ha creado la sesión, las páginas solicitadas por el mismo navegador pueden guardar y recuperar
información en el servidor, información que se asocia al identificador de usuario, por lo que no es accesible a otros usuarios. La
información se conserva hasta que el usuario o el servidor destruyan la sesión.
• Destrucción o cierre de la sesión: tanto el usuario como el servidor pueden cerrar la sesión. El usuario puede destruir la sesión
cerrando el navegador. El servidor puede destruir la sesión cuando alguna página utilice la función correspondiente o al cabo de un
tiempo determinado (definido mediante la función session_set_cookie_params()).
Crear / Usar sesión
En PHP, las sesiones se crean mediante la función session_start(). Si la sesión no existía, esta función crea la sesión y le
asocia un identificador de sesión único. Si la sesión ya existía, esta función permite que la página se una a la sesión ya
existente y tenga acceso a la información vinculada a la sesión. Es decir, todas las páginas que quieran guardar datos en
$_SESSION o leer datos de $_SESSION deben comenzar con la función session_start().
Aclaraciones sesiones
La creación de sesiones requiere el envío de cabeceras HTTP, por lo que la función session_start() debe utilizarse antes de
empezar a escribir el contenido de la página. En caso contrario PHP producirá un aviso y no se creará la sesión. El motivo es
que el identificador de sesión se utiliza en las cabeceras de respuesta HTTP y las cabeceras se envían antes del texto de la
página. El siguiente ejemplo es incorrecto, ya que utiliza la función session_start() después de haber escrito texto:
Utilizar la sesión
Cuando una página ha creado una sesión o ha accedido a una sesión ya existente mediante session_start(), la página tiene
acceso a la matriz $_SESSION que contiene las variables de esa sesión.
La matriz $_SESSION es una matriz asociativa en la que se pueden definir valores como en cualquier otra matriz. La
diferencia es que $_SESSION es accesible desde páginas diferentes (siempre que esas páginas tengan asociada la misma
sesión), manteniéndose los valores de una página a otra.
Utilizar la sesión
El ejemplo siguiente muestra dos páginas. La primera página guarda información en $_SESSION y la segunda la utiliza.
Cerrar sesión
Cerrar una sesión es destruir la matriz $_SESSION y el identificador de la sesión. Las sesiones se pueden cerrar de varias
maneras:
• El usuario puede cerrar la sesión simplemente cerrando el navegador (no basta con cerrar las pestañas).
• Un programa puede cerrar la sesión mediante la función session_destroy().
• En general, las cookies tienen una duración establecida en la directiva session.cookie_lifetime (y el servidor puede borrar
la información cuando ha pasado el tiempo indicado en segundos en la directiva session.gc_maxlifetime), pero la duración
de una sesión en particular puede establecerse en el momento de su creación mediante la función
session_set_cookie_params() (tiempo que se puede modificar posteriormente).
Cerrar sesión
Cuando se destruye una sesión, el programa que ha destruido la sesión sigue teniendo acceso a los valores de $_SESSION
creados antes de la destrucción de la sesión, pero las páginas siguientes no. Si se ejecuta el primero de los ejemplos
siguientes y después el segundo, se obtienen los resultados indicados:
Borrar elemento de sesión
Los valores de $_SESSION se borran como en cualquier otra matriz mediante la función unset().
Borrar elemento de sesión
Para borrar todos los valores de $_SESSION se pueden borrar uno a uno o utilizar la función session_unset(), pero
normalmente no se debe utilizar unset():
• unset($_SESSION) impide que el resto de la página escriba o lea valores en $_SESSION, pero la sesión conserva los
valores, por lo que otras páginas seguirían viendo esos valores.
• la función session_unset() borra todos los valores, pero permite que el resto de la página (y otras páginas) escriba o lea
valores en $_SESSION.
TALLER
• Crear un formulario de registro para los nuevos usuarios que deseen acceder al aplicativo. Este
formulario debe ser accesible desde el Login (inicio de sesión).
• Una vez el usuario digite la información, se deberá registrar la información en la tabla usuarios
de la base de datos CRUD.
• Si el usuario no ha iniciado sesión e intenta ingresar directamente al enlace de una página,
deberá redirigirlo al Login.
• Si el usuario ha ingresado con las credenciales correctas debe redirigir a la pantalla principal
donde se muestre el nombre del usuario que inició sesión y mostrar las opciones del menú.
• Se debe agregar una nueva opción que se llame “Cerrar Sesión” y al dar clic debe destruir las
sesiones creadas.

También podría gustarte