Professional Documents
Culture Documents
Introduccin
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 informacin referente a sus transacciones.
Empezar una Sesin Para empezar a trabajar una sesin en PHP lo primero es iniciarla la sesin, para ello tenemos dos caminos:
1. session_start() 2. session_register(mi_var)
Empezar una Sesin session_start() Usaremos como ejemplo para iniciar una sesin con la funcin session_start(), esta funcin debe estar ANTES de cualquier otro cdigo.
<?php
session_start();
sentencias PHP;
?>
- Esta funcin en caso de que el visitante no tenga una sesin la crea y si ya tiene una sesin contina en ella.
Ing CIP Fabian Guerrero Medina Master Web Developer 5
ID de una Sesin session_id() Se usa para proporcionar (leer) el nmero ID de sesin que se ha inicializado. Tambin se usa esta funcin para cambiar el ID de la sesin actual.
Almacenar Informacin $_SESSION Es un arreglo (matriz) asociativa que contiene las variables de sesin disponibles en la aplicacin web actual.
$_SESSION[autorizado"] = "OK"
Funcin: session_unset
Funcin: session_destroy
Destruir la sesin
10
Ejemplo: 01
11
Crear Sesin
<?php $_SESSION["ESTADO"] = "OK" ?> </p> <p> <input type="submit" name="Submit" value="Enviar"> </p> </form>
Ing CIP Fabian Guerrero Medina Master Web Developer 12
Ejemplo: 01 pagina2.html
<?php session_start(); if ($_SESSION["ESTADO"] != "OK") header("Location: index.php"); ?> <?php echo ("Hola ".$_POST["txt_nombre"]); ?>
13
Ejemplo: 02 index.php
14
Ejemplo: 02 index.php
<form action="control.php" method="POST"> <tr> <td colspan="2" align="center" <?PHP if ($_GET["errorusuario"]=="si"){?> bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span> <?PHP }else{?> bgcolor=#cccccc>Introduce tu clave de acceso <?PHP }?></td> </tr><br> <tr> <td align="right">Usuario:</td> <td><input type="Text" name="usuario" size="8" maxlength="50"></td> </tr><br> <tr> <td align="right">Clave:</td> <td><input type="password" name="contrasena" size="8" maxlength="50"></td> </tr><br> <tr> <td> <input type="Submit value="ENTRAR"></td> </tr> </form>
Ing CIP Fabian Guerrero Medina Master Web Developer 15
Ejemplo: 02 control.php
<?PHP session_start();
//vemos si el usuario y contrasea es vlido
$_SESSION["autentificado"]= 1"; $_SESSION["user"]= $_POST["usuario"]; $_SESSION["pass"]= $_POST["contrasena"]; header ("Location: aplicacion.php"); }else {
//si no existe, ir a la Pgina de Inicio
Ejemplo: 02 aplicacion.php
<?PHP include ("seguridad.php");?> <html> <head> <title>Aplicacin segura</title> </head> <body> <h1>Bienvenido <?PHP echo $_SESSION["user"];?></h1> <br> ---<br> Usuario: <?PHP echo $_SESSION["user"];?> <br> ---<br><br> <a href="otra.php">Continuar</a> </body> </html>
Ing CIP Fabian Guerrero Medina Master Web Developer 17
Ejemplo: 02 seguridad.php
<?PHP
//Inicio la sesin
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != 1") {
//si no existe, se dirige a la Pgina de Inicio
header("Location: index.php");
//salimos del script
exit(); } ?>
18
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>
Ing CIP Fabian Guerrero Medina Master Web Developer 19
Ejemplo: 02 salir.php
<?PHP session_start(); session_destroy(); ?> <html> <head> <title>Fin de Sesin</title> </head>
<body> Gracias por tu acceso <br><br> <a href="index.php">Ir a la Pgina de Inicio</a>
</body>
</html>
Ing CIP Fabian Guerrero Medina Master Web Developer 20
Ejemplo: 02
Ingreso de Datos
Validar Datos y Crear Variables de Sesion Pgina Segura
Home Page
Datos Errneos
Datos OK
index.php
control.php
aplicacion.php
Pgina Segura
seguridad.php otra.php Ing CIP Fabian Guerrero Medina Master Web Developer salir.php 21
22
Redireccionar header()
Cabecera "Location:"
23
Permite reutilizar porciones de cdigo (script, o simple html) cuantas veces quieras. Es decir pega el cdigo en donde es llamado.
24
25
Algoritmo 01 index.php
<form method="post" action="comprobar.php"> <p>Leer <input name="txt_x" type="text" > </p> <p> <input type="submit" value="Enviar"> </p> </form>
Ing CIP Fabian Guerrero Medina Master Web Developer 26
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"); ?>
Ing CIP Fabian Guerrero Medina Master Web Developer 27
Algoritmo 01
Funcin EREG: ejecuta el matching de una expresin regular.
ereg("^[a-zA-Z\-_]{2,20}$", $nombre_usuario)
Variable a Evualar Termino de Cadena
"^[a-zA-Z0-9\-_]{2,20}$"
Ing CIP Fabian Guerrero Medina Master Web Developer 28