Anda di halaman 1dari 24

SESIONES PHP

INTRODUCCIN
Qu son las sesiones?
Las sesiones son un mecanismo que nos sirve para almacenar
informacin que se guardar durante toda la visita de un usuario a
una pgina web; Cada usuario que entra en un sitio abre una sesin,
que es independiente de la sesin de otros usuarios.
En la sesin de un usuario podemos almacenar toda clase de datos,
como su nombre, productos de un hipottico carrito de la compra,
pginas por las que ha pasado... etc.
Para cada usuario, PHP internamente genera un identificador de
sesin nico, que sirve para saber las variables de sesin que
pertenecen a cada usuario.
Para conservar el identificador de cada sesin durante toda la visita de
un usuario a una pgina, PHP almacena la variable de sesin en una
cookie, o bien la propaga a travs de la URL. Esto se puede configurar
desde el archivo index.php.
2

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)
3

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.

OJO AL DATO!
La sesin se tiene que iniciar antes de escribir cualquier texto
en la pgina.
De no hacerlo, corremos el riesgo de recibir un error, o un
precioso warning que tanto nos gustan, ya que PHP imprime en
la pgina desde la primera lnea de cdigo.

EMPEZAR UNA SESIN


SESSION_START()
SID (Session ID)
PHP para identificar una sesin, lo realiza a travs de un
nmero SID. Esto se le proporciona al cliente para identificarse
de forma exclusiva.
Este SID siempre se crea al usar la funcin session_start().
Si se usa session_register(). El valor del SID se almacena en la
variable global PHPSESSID.

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.

echo ("TU ID: ". session_id() );

ALMACENAR INFORMACIN $_SESSION


Es un arreglo (matriz) asociativa que contiene las variables de
sesin disponibles en la aplicacin web actual.

$_SESSION[autorizado"] = "OK"

FUNCIONES: SESSION_UNSET Y
SESSION_DESTROY
session_unset
Vaca el array $_SESSION, perdiendo inmediatamente los datos

session_destroy
Elimina la sesin ( $_SESSION estar vacia la prxima vez) pero
mantiene $_SESSION..

FUNCIONES: SESSION_UNSET Y
SESSION_DESTROY
LA DIFERENCIA ENTRE AMBAS FUNCIONES ES IMPORTANTE
session_unset (se borra ya!!)
session_unset ();
Echo adis . $_SESSION [ 'nombre' ];
Resultado: adis

session_destroy ( se borra pero todava estan disponibles los


datos para una despedida, anotacin)
session_destroy ();
Echo adis . $_SESSION [ 'nombre' ];
Resultado: adis Nieves
10

EJEMPLO: 01

11

EJEMPLO: 01- INDEX.PHP


Crear Sesin

<?php
session_start();
?>
<p>BIENVENIDOS</p>

<form name="form1" method="post" action="pagina2.php">


<p>Nombre
<input name="txt_nombre" type="text" id="txt_nombre">

<?php
$_SESSION["ESTADO"] = "OK"

Crear Variable de
Sesin

?>
</p>
<p>
<input type="submit" name="Submit" value="Enviar">
</p>
</form>

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

15

EJEMPLO: 02 CONTROL.PHP

16

EJEMPLO: 02 APLICACION.PHP

17

EJEMPLO: 02 SEGURIDAD.PHP

18

EJEMPLO: 02 OTRA.PHP

19

EJEMPLO: 02 SALIR.PHP

20

EJEMPLO: 02
Pgina Segura

Ingreso de Datos
Datos OK

Home
Page
Datos Errneos

index.php

control.php

aplicacion.php

Pgina Segura

seguridad.php
otra.php

salir.php

21

22

REDIRECCIONAR HEADER()

header("Location: http://www.php.net");
exit;
header("Location: index.php?error=1");

23

REUTILIZAR CDIGO INCLUDE()

Permite reutilizar porciones de cdigo (script, o


simple html) cuantas veces quieras. Es decir pega
el cdigo en donde es llamado.

24

Anda mungkin juga menyukai