El documento habla sobre el uso de sesiones en PHP para identificar usuarios que acceden a un sitio web. Explica cómo iniciar una sesión utilizando session_start(), cómo almacenar información en la variable $_SESSION, y cómo destruir una sesión. También incluye varios ejemplos de código que muestran cómo implementar el inicio de sesión, el almacenamiento y recuperación de datos, y la protección de páginas.
3. Introducción Qué son las sesiones? Las sesiones son un mecanismo basado en cookies que permiten identificar a los usuarios que acceden a un sitio Web, de esta manera almacenar información referente a sus transacciones.
4.
5.
6. Empezar una Sesión – session_start() SID (Session ID) PHP para identificar una sesión, lo realiza a través de un número SID. Esto se le proporciona al cliente para identificarse de forma exclusiva. Este SID siempre se crea al usar la función session_start(). Si se usa session_register(). El valor del SID se almacena en la variable global PHPSESSID.
7. ID de una Sesión – session_id() Se usa para proporcionar (leer) el número ID de sesión que se ha inicializado. También se usa esta función para cambiar el ID de la sesión actual. echo ("TU ID: ". session_id() );
8. Almacenar Información – $_SESSION Es un arreglo (matriz) asociativa que contiene las variables de sesión disponibles en la aplicación web actual. $_SESSION [“autorizado"] = "OK"
16. Ejemplo: 02 – control.php <?PHP session_start(); //vemos si el usuario y contraseña es válido if ($_POST["usuario"]==“coquito" && $_POST["contrasena"]=="123"){ //usuario y contraseña válidos //Crear variable para la sesión $_SESSION["autentificado"]= “1"; $_SESSION["user"]= $_POST["usuario"]; $_SESSION["pass"]= $_POST["contrasena"]; header ("Location: aplicacion.php "); }else { //si no existe, ir a la Página de Inicio header("Location: index.php?errorusuario=si "); } ?>
18. Ejemplo: 02 – seguridad.php <?PHP //Inicio la sesión session_start(); //COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO if ($_SESSION["autentificado"] != “1" ) { //si no existe, se dirige a la Página de Inicio header("Location: index.php "); //salimos del script exit(); } ?>
19. Ejemplo: 02 – otra.php <?PHP include (" seguridad.php ");?> <html> <head> <title>Empresa XYZ</title> </head> <body> <h1>Bienvenido <?PHP echo $_SESSION["user"];?> </h1> <br><hr> Sistema de la Empresa XYZ<hr> <br> <br><br> <a href=" salir.php ">Salir</a> </body> </html>
20. Ejemplo: 02 – salir.php <?PHP session_start(); session_destroy(); ?> <html> <head> <title>Fin de Sesión</title> </head> <body> Gracias por tu acceso… <br><br> <a href=" index.php ">Ir a la Página de Inicio</a> </body> </html>
21. Ejemplo: 02 Home Page index.php control.php salir.php otra.php aplicacion.php seguridad.php Ingreso de Datos Validar Datos y Crear Variables de Sesion Datos Erróneos Datos OK Página Segura Página Segura
24. Reutilizar Código – include() Permite reutilizar porciones de código (script, o simple html) cuantas veces quieras. Es decir pega el código en donde es llamado.
27. Algoritmo – 01 comprobar.php <?php // Comprueba un Campo Ej. Nombre // Ambito: Solo String y Longitud 2..20 function comprobar_cadena_limite ($nombre_usuario ) { if ( ereg ("^[a-zA-Z_]{2,20}$", $nombre_usuario )) { return true; } else { return false; } } $vX = $_POST["txt_x"]; if ( comprobar_cadena_limite($vX) ) echo ("OK"); else echo ("Error"); ?>
28. Algoritmo – 01 ereg ("^[ a-zA-Z _ ]{2,20} $ ", $nombre_usuario ) Función EREG : ejecuta el matching de una expresión regular. Termino de Cadena Variable a Evualar Rango 2..20 de caracteres permitidos Permitir estos caracteres especiales Permitir solo letras "^[a-zA-Z0-9_]{2,20}$"