Este documento resume una unidad sobre programación PHP. Explica conceptos como cookies, sesiones y envío de correos electrónicos. También cubre temas como el manejo de sesiones, autenticación de usuarios y el uso de PHP para crear páginas dinámicas integradas con bases de datos. El objetivo es que los estudiantes aprendan a desarrollar aplicaciones web con PHP que permitan consultas, listados y modificación de datos almacenados en un servidor.
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