You are on page 1of 6

Universidad De Colima

Facultad De Telemtica
Ingeniero En Telemtica

Jos Carlos Gonzalez Ramrez


5-A
Programacin Web
M. En T.I. Jos Nabor Ramrez Morfin
ActividadVariablesdeSessionPHP
Fecha: 22 de noviembre de 2015

Es otro mtodo para hacer que variables estn disponibles en mltiples


pginas sin tener que pasarlas como parmetro. A diferencia de las
cookies, las variables de sesin se almacenan en el servidor y tienen un
tiempo limitado de existencia.
Para identificar al usuario que gener las variables de sesin, el servidor
genera una clave nica que es enviada al navegador y almacenada en
una cookie. Luego, cada vez que el navegador solicita otra pgina al
mismo sitio, enva esta cookie (clave nica) con la cual el servidor
identifica de qu navegador proviene la peticin y puede rescatar de un
archivo de texto las variables de sesin que se han creado. Cuando han
pasado 20 minutos sin peticiones por parte de un cliente (navegador)
las variables de sesin son eliminadas automticamente (se puede
configurar el entorno de PHP para variar este tiempo)
Una variable de sesin es ms segura que una cookie ya que se
almacena en el servidor. Otra ventaja es que no tiene que estar
envindose continuamente como sucede con las cookies. Otra ventaja
de emplear una variable de sesin en lugar de una cookie es que cuando
el navegador del cliente est configurado para desactivar las cookies las
variables de sesin, tienen forma de funcionar (enviando la clave como
parmetro en cada hipervnculo)
Como desventaja podemos decir que ocupa espacio en el servidor.
Haremos un problema muy sencillo, cargaremos en un formulario el
nombre de usuario y clave de un cliente, en la segunda pgina
crearemos dos variables de sesin y en una tercera pgina
recuperaremos los valores almacenados en las variables de sesin.
La primera pgina es un formulario HTML puro:
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese nombre de usuario:
<input type="text" name="campousuario"><br>
Ingrese clave:
<input type="password" name="campoclave"><br>
<input type="submit" value="confirmar">
</form>

</body>
</html>
Lo que podemos recalcar es que, cuando en un cuadro de texto
queremos ingresar una clave y no queremos que aparezcan los
caracteres tipeados en pantalla, debemos utilizar el control de tipo
password:
<input type="password" name="campoclave">

La segunda pgina es donde creamos e inicializamos las dos variables


de sesin:
<?php
session_start();
$_SESSION['usuario']=$_REQUEST['campousuario'];
$_SESSION['clave']=$_REQUEST['campoclave'];
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
Se almacenaron dos variables de sesin.<br><br>
<a href="pagina3.php">Ir a la tercer pgina donde se recuperarn
las variables de sesin</a>
</body>
</html>
Cuando creamos o accedemos al contenido de variables de sesin
debemos llamar a la funcin session_start() antes de cualquier salida de
etiquetas HTML.
Para almacenar los valores en las variables de sesin lo hacemos:
$_SESSION['usuario']=$_REQUEST['campousuario'];
$_SESSION['clave']=$_REQUEST['campoclave'];
Es decir, tenemos el vector asociativo $_SESSION que almacena las
variables de sesin.
Por ltimo, esta pgina tiene un hipervnculo a la tercera pgina.

La ltima pgina de este ejemplo tiene por objetivo acceder a las


variables de sesin:
<?php
session_start();
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
echo "Nombre de usuario recuperado de la variable de sesin:".
$_SESSION['usuario'];
echo "<br><br>";
echo "La clave recuperada de la variable de sesin:".
$_SESSION['clave'];
?>
</body>
</html>
De nuevo vemos que la primera lnea de esta pgina es la llamada a la
funcin session_start() que, entre otras cosas, rescata de un archivo de
texto las variables de sesin creadas para ese usuario (recordemos que
desde el navegador todas las veces retorna una cookie con la clave que
gener PHP la primera vez que llamamos a una pgina del sitio).
Para mostrar las variables de sesin, las accedemos por medio del
vector asociativo $_SESSION:
echo "Nombre de usuario recuperado de la variable de sesin:".
$_SESSION['usuario'];
echo "<br><br>";
echo "La clave recuperada de la variable de sesin:".
$_SESSION['clave'];
Tengamos en cuenta que en cualquier otra pgina del sitio tenemos
acceso a las variables de sesin slo con llamar inicialmente a la funcin
session_start().

Problema resuelto.
Copiar el contenido de este cuadro de texto al NotePad++ y grabarlo en
la carpeta c:\wamp\www con un nombre con extensin php (si hay
varios cuadros de texto grabar cada uno en un archivo distinto).
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra
de direcciones tipear: http://localhost/pagina1.php (o el nombre del
archivo que le di)
pagina1.php
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post">
Ingrese nombre de usuario:
<input type="text" name="campousuario"><br>
Ingrese clave:
<input type="password" name="campoclave"><br>
<input type="submit" value="confirmar">
</form>
</body>
</html>
pagina2.php
<?php
session_start();
$_SESSION['usuario']=$_REQUEST['campousuario'];
$_SESSION['clave']=$_REQUEST['campoclave'];
?>
<html>
<head>

<title>Problema</title>
</head>
<body>
Se almacenaron dos variables de sesin.<br><br>
<a href="pagina3.php">Ir a la tercer pgina donde se recuperarn las
variables de sesin</a>
</body>
</html>
pagina3.php
<?php
session_start();
?>
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
echo "Nombre de usuario recuperado de la variable de sesin:".
$_SESSION['usuario'];
echo "<br><br>";
echo "La clave recuperada de la variable de sesin:".$_SESSION['clave'];
?>
</body>
</html>

You might also like