SlideShare una empresa de Scribd logo
Tallerde ProgramaciónWeb
Unidad 03: ProgramaciónPHP
Semana7
• Cookies, sesiones, envío de emails
https://www.youtube.com/watch?v=QFrUTDfYgnM
https://www.youtube.com/watch?v=Rsh-ii_VRcA
Explicar la importancia de conocer y emplear las
instrucciones de PHP para elaborar páginas que sean
conectadas a un servidor de datos como Mysql, donde
se realizarán aplicaciones web con gestión de datos
cuyo propósito es realizar consultas, listados,
eliminación o adición de registro en un servidor,
necesario para la vida universitaria de los alumnos,
para su carrera profesional y/o para el progreso de
una empresa.
Importancia
Unidad
LenguajePHP
Logro
Al finalizar la unidad, el estudiante
desarrolla páginasHTML,generadas
dinámicamente, que seintegren con
aplicaciones que corran en elservidor
como procesosintegrados y no como
procesosseparados.
• Cookies, sesiones, envío de emails
• Sesiones
• Introducción
• Manejo de sesiones
• Autenticación de usuarios
ContenidoGeneral
Unidad
LenguajePHP
Logro
Al finalizar la unidad, el estudiante
desarrolla páginasHTML,generadas
dinámicamente, que seintegren con
aplicaciones que corran en elservidor
como procesosintegrados y no como
procesosseparados.
Cookies, sesiones, envío deemails
Cookies ysesiones
Cookies
Una sesión esuna cantidad
de información que se
almacena dentro del
servidor con unidentificador
único deusuario
Ésteid esenviado
automáticamente
al usuario por
medio de
cookies.
Cookies ysesiones
Ejemplo
// Ejemplo, un contador
session_start();
print($contador);
$contador++;
session_register("contador");
<A HREF="siguiente.php?<?=SID?>">Continuar</A>
Siguiente 12
R
esultado
Cookies ysesiones
Cookies
Ejemplo almacenamiento de un
valor en la maquina delcliente
int setcookie (string nombre [, string valor
, string camino
[, int tiempo])
setcookie(“PruebaCookie”,
“expiraré dentro de una hora”,
time() + 3600);
setcookie(“PruebaCookie”, “”, time());
Sesiones
Sesión
Almacena datos en el servidor
que puede ser empleados en
cualquier pagina delproyecto
<?php
// pagina1.php
session_start();
echo 'Bienvenido a la página #1';
$_SESSION['color'] = 'verde';
$_SESSION['animal'] = 'gato';
$_SESSION['instante'] = time();
// Funciona si la cookie de sesión fue aceptada
echo '<br /><a href="pagina2.php">página 2</a>';
// O quizás pasar el id de sesión, si fuera necesario
echo '<br /><a href="pagina2.php?' . SID . '">página 2</a>';
?>
Sesiones
Sesión
Recuperación de datos en la
pagina2
<?php
// pagina2.php
session_start();
echo 'Bienvenido a la página #2<br />';
echo $_SESSION['color']; // verde
echo $_SESSION['animal']; // gato
echo date('Y m d H:i:s', $_SESSION['instante']);
// Puede ser conveniente usar el SID aquí, como hicimos en pagina1
.php
echo '<br /><a href="pagina1.php">página 1</a>';
?>
Envío deemail
Ejemplo
<?php
$para = ‘pepito13@gmail.com';
$titulo = ‘Un mensaje prueba';
$mensaje = 'Hola';
$cabeceras = 'From: morenouni@gmail.com' . "rn" .
‘copia-To: moreno@utp.edu.pe . "rn" ;
mail($para, $titulo, $mensaje, $cabeceras);
?>
Enviar un correo con parámetros de línea de comando
adicionales.
<?php
mail(‘pepe@example.com', 'El título', 'Elmensaje',
‘morenouni@gmail.com');
?>
Sesiones - Profundizando
Introducción
A veces es necesario mantener el estado de una conexión entre
distintas páginas o entre distintas visitas a un mismo sitio.
Ejemplos: aplicaciones personalizadas, carrito de la compra, control
de acceso
HTTP es un protocolo sin estado: cada conexión entre el cliente y el
servidor es independiente de las demás
Para mantener el estado entre diferentes conexiones hay que
establecer lo que se conoce como una sesión
Las sesiones permiten disponer de unas variables con valores
persistentes durante toda la conexión del usuario. Estas variables
pueden almacenarse en el cliente mediante cookies o en el servidor
PHP dispone de una biblioteca de funciones para la gestión de
sesiones
Manejo de sesiones
Funciones de PHP para el manejo de sesiones (register_globals On)
session_start ()
inicializa una sesión y le asigna un identificador de sesión único.
Si la sesión ya está iniciada, carga todas las variables de
sesión
session_register (variable)
registra una variable de sesión
session_unregister (variable)
elimina una variable de sesión
session_is_registered (variable)
comprueba si una variable está registrada. Devuelve true en
caso afirmativo y false en caso contrario
session_destroy ()
cierra una sesión
Manejo de sesiones
Funciones de PHP para el manejo de sesiones (register_globals Off)
session_start ()
inicializa una sesión y le asigna un identificador de sesión único.
Si la sesión ya está iniciada, carga todas las variables de
sesión
$_SESSION[‘nombre’] = valor;
registra una variable de sesión
unset ($_SESSION[‘nombre’]);
elimina una variable de sesión
if (isset($_SESSION[‘nombre’]))
comprueba si una variable está registrada. Devuelve true en
caso afirmativo y false en caso contrario
session_destroy ()
cierra una sesión
Manejo de sesiones
El manejo de las sesiones se realiza de la siguiente forma:
Todas las páginas deben realizar una llamada a session_start()
para cargar las variables de la sesión
Esta llamada debe estar colocada antes de cualquier código
HTML
Conviene llamar a session_destroy() para cerrar la sesión
Manejo de sesiones
Ejercicio 1: ejemplo simple de sesiones
Ilustra cómo registrar variables, acceder a ellas y posteriormente
eliminarlas
Autenticación de usuarios
Una cuestión frecuente en un sitio web es controlar el acceso
de los usuarios a una zona determinada del mismo
La autenticación de usuarios puede realizarse en el propio
servidor web. Así, en Apache los ficheros .htaccess
permiten limitar el acceso a un determinado recurso del
servidor
Una alternativa más compleja pero más flexible es utilizar
PHP junto con una base de datos para controlar el acceso
de los usuarios. Para ello se utilizan las sesiones
Autenticación de usuarios
Esquema de una página que utiliza sesiones para
autenticar usuarios:
<?PHP
session_start ();
?>
<HTML LANG="es">
<HEAD> ... </HEAD>
<BODY>
<?PHP
if (isset($_SESSION["usuario_valido"]))
// Código para usuarios autorizados
else
// Mensaje de acceso no autorizado
?>
</BODY>
</HTML>
Autenticación de usuarios
Ejercicio 2: autenticación de usuarios
Para nuestro sistema de gestión de noticias se va a restringir el acceso
a las operaciones a unos usuarios identificados por un nombre y
una contraseña
La información de los usuarios autorizados se almacenará en una tabla
de la base de datos
Las contraseñas de los usuarios se almacenarán en forma encriptada
Esquema:
Autenticación de usuarios
login
menú
mostrar
formulario
mostrar
error
insertar
noticia
logout
consultar
noticias
eliminar
noticia
Autenticación de usuarios
inicio
enviado formulario
iniciar sesión
datos correctos
sesión iniciada
menú
mostrar error
mostrar formulario
insertar noticia logout
consultar noticias
sí
sí
sí
no
no
no error
eliminar noticia
1. Programación anivel de servidor, PHPpermite
proteger la información de los datos su
codificación esabstracta al cliente.
Conclusiones
• Funciones
• Formularios
Unidad
LenguajePHP
T
emas

Más contenido relacionado

Similar a U3_Leguaje PHP-Semana 07.pdf

Php 6 y Mysql
Php 6 y MysqlPhp 6 y Mysql
Php 6 y Mysql
jograci
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
PHP Vigo
 
Informe Programacion Sitios Web
Informe Programacion Sitios WebInforme Programacion Sitios Web
Informe Programacion Sitios Web
Yeison Smith
 
Curso de php
Curso de phpCurso de php
Presentacion
PresentacionPresentacion
PresentacionEl Jota
 
2 8 cookiesy_sesionesphp
2 8 cookiesy_sesionesphp2 8 cookiesy_sesionesphp
2 8 cookiesy_sesionesphp
Juan José Taboada León
 
Phpmyadmin
PhpmyadminPhpmyadmin
Phpmyadmin
Lady Rincon
 
Introducción a symfony - decharlas
Introducción a symfony - decharlasIntroducción a symfony - decharlas
Introducción a symfony - decharlas
Decharlas
 
Introduccion a symfony
Introduccion a symfonyIntroduccion a symfony
Introduccion a symfony
Alfonso Alba García
 

Similar a U3_Leguaje PHP-Semana 07.pdf (20)

Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
Php 6 y Mysql
Php 6 y MysqlPhp 6 y Mysql
Php 6 y Mysql
 
Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
 
Cursopaginas web2013
Cursopaginas web2013Cursopaginas web2013
Cursopaginas web2013
 
Funciones
FuncionesFunciones
Funciones
 
Informe Programacion Sitios Web
Informe Programacion Sitios WebInforme Programacion Sitios Web
Informe Programacion Sitios Web
 
Curso de php
Curso de phpCurso de php
Curso de php
 
Php!
Php!Php!
Php!
 
Robo desesionesfinal
Robo desesionesfinalRobo desesionesfinal
Robo desesionesfinal
 
Presentacion
PresentacionPresentacion
Presentacion
 
Curso PHP Y MYSQL
Curso PHP Y MYSQLCurso PHP Y MYSQL
Curso PHP Y MYSQL
 
Caipa
CaipaCaipa
Caipa
 
2 8 cookiesy_sesionesphp
2 8 cookiesy_sesionesphp2 8 cookiesy_sesionesphp
2 8 cookiesy_sesionesphp
 
Phpmyadmin
PhpmyadminPhpmyadmin
Phpmyadmin
 
Introducción a symfony - decharlas
Introducción a symfony - decharlasIntroducción a symfony - decharlas
Introducción a symfony - decharlas
 
Introduccion a symfony
Introduccion a symfonyIntroduccion a symfony
Introduccion a symfony
 

Más de DavidVeraOlivera

introduccion-seguridad-informc3a1tica.pptx
introduccion-seguridad-informc3a1tica.pptxintroduccion-seguridad-informc3a1tica.pptx
introduccion-seguridad-informc3a1tica.pptx
DavidVeraOlivera
 
ES.ASW.Te11_DistribuidosBigData.pdf
ES.ASW.Te11_DistribuidosBigData.pdfES.ASW.Te11_DistribuidosBigData.pdf
ES.ASW.Te11_DistribuidosBigData.pdf
DavidVeraOlivera
 
ES.ASW.Te02_Definiciones.pdf
ES.ASW.Te02_Definiciones.pdfES.ASW.Te02_Definiciones.pdf
ES.ASW.Te02_Definiciones.pdf
DavidVeraOlivera
 
ARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdfARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdf
DavidVeraOlivera
 
ARQUITECTURA CLIENTE SERVIDOR.pdf
ARQUITECTURA CLIENTE SERVIDOR.pdfARQUITECTURA CLIENTE SERVIDOR.pdf
ARQUITECTURA CLIENTE SERVIDOR.pdf
DavidVeraOlivera
 
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
DavidVeraOlivera
 
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfCICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
DavidVeraOlivera
 
ARQUITECTURA DE SOFTWARE.pdf
ARQUITECTURA DE SOFTWARE.pdfARQUITECTURA DE SOFTWARE.pdf
ARQUITECTURA DE SOFTWARE.pdf
DavidVeraOlivera
 
sesion01-traspas.pdf
sesion01-traspas.pdfsesion01-traspas.pdf
sesion01-traspas.pdf
DavidVeraOlivera
 
ARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdfARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdf
DavidVeraOlivera
 
ARQII_00-Repaso-2012.pdf
ARQII_00-Repaso-2012.pdfARQII_00-Repaso-2012.pdf
ARQII_00-Repaso-2012.pdf
DavidVeraOlivera
 
Software Architecture & Design of Modern Large Scale.pptx
Software Architecture & Design of Modern Large Scale.pptxSoftware Architecture & Design of Modern Large Scale.pptx
Software Architecture & Design of Modern Large Scale.pptx
DavidVeraOlivera
 

Más de DavidVeraOlivera (12)

introduccion-seguridad-informc3a1tica.pptx
introduccion-seguridad-informc3a1tica.pptxintroduccion-seguridad-informc3a1tica.pptx
introduccion-seguridad-informc3a1tica.pptx
 
ES.ASW.Te11_DistribuidosBigData.pdf
ES.ASW.Te11_DistribuidosBigData.pdfES.ASW.Te11_DistribuidosBigData.pdf
ES.ASW.Te11_DistribuidosBigData.pdf
 
ES.ASW.Te02_Definiciones.pdf
ES.ASW.Te02_Definiciones.pdfES.ASW.Te02_Definiciones.pdf
ES.ASW.Te02_Definiciones.pdf
 
ARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdfARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdf
 
ARQUITECTURA CLIENTE SERVIDOR.pdf
ARQUITECTURA CLIENTE SERVIDOR.pdfARQUITECTURA CLIENTE SERVIDOR.pdf
ARQUITECTURA CLIENTE SERVIDOR.pdf
 
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdfATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
ATRIBUTOS DE CALIDAD ARQUITECTURA DE SOFTWARE.pdf
 
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfCICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
 
ARQUITECTURA DE SOFTWARE.pdf
ARQUITECTURA DE SOFTWARE.pdfARQUITECTURA DE SOFTWARE.pdf
ARQUITECTURA DE SOFTWARE.pdf
 
sesion01-traspas.pdf
sesion01-traspas.pdfsesion01-traspas.pdf
sesion01-traspas.pdf
 
ARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdfARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdf
 
ARQII_00-Repaso-2012.pdf
ARQII_00-Repaso-2012.pdfARQII_00-Repaso-2012.pdf
ARQII_00-Repaso-2012.pdf
 
Software Architecture & Design of Modern Large Scale.pptx
Software Architecture & Design of Modern Large Scale.pptxSoftware Architecture & Design of Modern Large Scale.pptx
Software Architecture & Design of Modern Large Scale.pptx
 

Último

Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 

Último (6)

Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 

U3_Leguaje PHP-Semana 07.pdf

  • 1. Tallerde ProgramaciónWeb Unidad 03: ProgramaciónPHP Semana7 • Cookies, sesiones, envío de emails
  • 4. Explicar la importancia de conocer y emplear las instrucciones de PHP para elaborar páginas que sean conectadas a un servidor de datos como Mysql, donde se realizarán aplicaciones web con gestión de datos cuyo propósito es realizar consultas, listados, eliminación o adición de registro en un servidor, necesario para la vida universitaria de los alumnos, para su carrera profesional y/o para el progreso de una empresa. Importancia Unidad LenguajePHP Logro Al finalizar la unidad, el estudiante desarrolla páginasHTML,generadas dinámicamente, que seintegren con aplicaciones que corran en elservidor como procesosintegrados y no como procesosseparados.
  • 5. • Cookies, sesiones, envío de emails • Sesiones • Introducción • Manejo de sesiones • Autenticación de usuarios ContenidoGeneral Unidad LenguajePHP Logro Al finalizar la unidad, el estudiante desarrolla páginasHTML,generadas dinámicamente, que seintegren con aplicaciones que corran en elservidor como procesosintegrados y no como procesosseparados.
  • 7. Cookies ysesiones Cookies Una sesión esuna cantidad de información que se almacena dentro del servidor con unidentificador único deusuario Ésteid esenviado automáticamente al usuario por medio de cookies.
  • 8. Cookies ysesiones Ejemplo // Ejemplo, un contador session_start(); print($contador); $contador++; session_register("contador"); <A HREF="siguiente.php?<?=SID?>">Continuar</A> Siguiente 12 R esultado
  • 9. Cookies ysesiones Cookies Ejemplo almacenamiento de un valor en la maquina delcliente int setcookie (string nombre [, string valor , string camino [, int tiempo]) setcookie(“PruebaCookie”, “expiraré dentro de una hora”, time() + 3600); setcookie(“PruebaCookie”, “”, time());
  • 10. Sesiones Sesión Almacena datos en el servidor que puede ser empleados en cualquier pagina delproyecto <?php // pagina1.php session_start(); echo 'Bienvenido a la página #1'; $_SESSION['color'] = 'verde'; $_SESSION['animal'] = 'gato'; $_SESSION['instante'] = time(); // Funciona si la cookie de sesión fue aceptada echo '<br /><a href="pagina2.php">página 2</a>'; // O quizás pasar el id de sesión, si fuera necesario echo '<br /><a href="pagina2.php?' . SID . '">página 2</a>'; ?>
  • 11. Sesiones Sesión Recuperación de datos en la pagina2 <?php // pagina2.php session_start(); echo 'Bienvenido a la página #2<br />'; echo $_SESSION['color']; // verde echo $_SESSION['animal']; // gato echo date('Y m d H:i:s', $_SESSION['instante']); // Puede ser conveniente usar el SID aquí, como hicimos en pagina1 .php echo '<br /><a href="pagina1.php">página 1</a>'; ?>
  • 12. Envío deemail Ejemplo <?php $para = ‘pepito13@gmail.com'; $titulo = ‘Un mensaje prueba'; $mensaje = 'Hola'; $cabeceras = 'From: morenouni@gmail.com' . "rn" . ‘copia-To: moreno@utp.edu.pe . "rn" ; mail($para, $titulo, $mensaje, $cabeceras); ?> Enviar un correo con parámetros de línea de comando adicionales. <?php mail(‘pepe@example.com', 'El título', 'Elmensaje', ‘morenouni@gmail.com'); ?>
  • 14. Introducción A veces es necesario mantener el estado de una conexión entre distintas páginas o entre distintas visitas a un mismo sitio. Ejemplos: aplicaciones personalizadas, carrito de la compra, control de acceso HTTP es un protocolo sin estado: cada conexión entre el cliente y el servidor es independiente de las demás Para mantener el estado entre diferentes conexiones hay que establecer lo que se conoce como una sesión Las sesiones permiten disponer de unas variables con valores persistentes durante toda la conexión del usuario. Estas variables pueden almacenarse en el cliente mediante cookies o en el servidor PHP dispone de una biblioteca de funciones para la gestión de sesiones
  • 15. Manejo de sesiones Funciones de PHP para el manejo de sesiones (register_globals On) session_start () inicializa una sesión y le asigna un identificador de sesión único. Si la sesión ya está iniciada, carga todas las variables de sesión session_register (variable) registra una variable de sesión session_unregister (variable) elimina una variable de sesión session_is_registered (variable) comprueba si una variable está registrada. Devuelve true en caso afirmativo y false en caso contrario session_destroy () cierra una sesión
  • 16. Manejo de sesiones Funciones de PHP para el manejo de sesiones (register_globals Off) session_start () inicializa una sesión y le asigna un identificador de sesión único. Si la sesión ya está iniciada, carga todas las variables de sesión $_SESSION[‘nombre’] = valor; registra una variable de sesión unset ($_SESSION[‘nombre’]); elimina una variable de sesión if (isset($_SESSION[‘nombre’])) comprueba si una variable está registrada. Devuelve true en caso afirmativo y false en caso contrario session_destroy () cierra una sesión
  • 17. Manejo de sesiones El manejo de las sesiones se realiza de la siguiente forma: Todas las páginas deben realizar una llamada a session_start() para cargar las variables de la sesión Esta llamada debe estar colocada antes de cualquier código HTML Conviene llamar a session_destroy() para cerrar la sesión
  • 18. Manejo de sesiones Ejercicio 1: ejemplo simple de sesiones Ilustra cómo registrar variables, acceder a ellas y posteriormente eliminarlas
  • 19. Autenticación de usuarios Una cuestión frecuente en un sitio web es controlar el acceso de los usuarios a una zona determinada del mismo La autenticación de usuarios puede realizarse en el propio servidor web. Así, en Apache los ficheros .htaccess permiten limitar el acceso a un determinado recurso del servidor Una alternativa más compleja pero más flexible es utilizar PHP junto con una base de datos para controlar el acceso de los usuarios. Para ello se utilizan las sesiones
  • 20. Autenticación de usuarios Esquema de una página que utiliza sesiones para autenticar usuarios: <?PHP session_start (); ?> <HTML LANG="es"> <HEAD> ... </HEAD> <BODY> <?PHP if (isset($_SESSION["usuario_valido"])) // Código para usuarios autorizados else // Mensaje de acceso no autorizado ?> </BODY> </HTML>
  • 21. Autenticación de usuarios Ejercicio 2: autenticación de usuarios Para nuestro sistema de gestión de noticias se va a restringir el acceso a las operaciones a unos usuarios identificados por un nombre y una contraseña La información de los usuarios autorizados se almacenará en una tabla de la base de datos Las contraseñas de los usuarios se almacenarán en forma encriptada Esquema:
  • 23. Autenticación de usuarios inicio enviado formulario iniciar sesión datos correctos sesión iniciada menú mostrar error mostrar formulario insertar noticia logout consultar noticias sí sí sí no no no error eliminar noticia
  • 24. 1. Programación anivel de servidor, PHPpermite proteger la información de los datos su codificación esabstracta al cliente. Conclusiones • Funciones • Formularios Unidad LenguajePHP T emas