Sesiones en PHP II

Describimos los metodos de trabajo con sesiones en PHP, inicializar sesión, crear variables de sesión o recuperarlas.

Las sesiones, en aplicaciones web realizadas con PHP y en el desarrollo de páginas web en general, nos sirven para almacenar información que se memorizará durante toda la visita de un usuario a una página web. Dicho de otra forma, un usuario puede ver varias páginas durante su paso por un sitio web y con sesiones podemos almacenar variables que podremos acceder en cualquiera de esas páginas.

Digamos que las sesiones son una manera de guardar información, específica para cada usuario, durante toda su visita. Cada usuario que entra en un sitio abre una sesión, que es independiente de la sesión de otros usuarios. En la sesión de un usuario podemos almacenar todo tipo de datos, como su nombre, productos de un hipotético carrito de la compra, preferencias de visualización o trabajo, páginas por las que ha pasado, etc. Todas estas informaciones se guardan en lo que denominamos variables de sesión.

PHP dispone de un método bastante cómodo de guardar datos en variables de sesión, y de un juego de funciones para el trabajo con sesiones y variables de sesión. Lo veremos en este artículo.

Para cada usuario PHP internamente genera un identificador de sesión único, que sirve para saber las variables de sesión que pertenecen a cada usuario. Para conservar el identificador de sesión durante toda la visita de un usuario a una página PHP almacena la variable de sesión en una cookie, o bien la propaga a través de la URL. Esto se puede configurar desde el archivo php.ini.

Trabajo con sesiones en PHP

Cuando queremos utilizar variables de sesión en una página tenemos que iniciar la sesión con la siguiente función:

session_start ()

Inicia una sesión para el usuario o continúa la sesión que pudiera tener abierta en otras páginas. Al hacer session_start() PHP internamente recibe el identificador de sesión almacenado en la cookie o el que se envíe a través de la URL. Si no existe tal identificador se sesión, simplemente lo crea.

Nota: Si en el php.ini se ha definido la variable session.auto_start = 1 se inicializa automáticamente la sesión en cada página que visita un usuario, sin que se tenga que hacer el session_start()

Una vez inicializada la sesión con session_start() podemos a partir de ahora utilizar variables de sesión, es decir, almacenar datos para ese usuario, que se conserven durante toda su visita o recuperar datos almacenados en páginas que haya podido visitar.

La sesión se tiene que inicializar antes de escribir cualquier texto en la página. Esto es importante y de no hacerlo así corremos el riesgo de recibir un error, porque al iniciar la sesión se deben leer las cookies del usuario, algo que no se puede hacer si ya se han enviado las cabeceras del HTTP.

Nota: si se intenta abrir una sesión después de haber enviado texto de la página al cliente se obtendrá el siguiente mensaje:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at …)

Una vez iniciada la sesión podemos utilizar variables de sesión a través de $_SESSION, que es un array asociativo, donde se accede a cada variable a partir de su nombre, de este modo:

$_SESSION["nombre_de_variable"]
Nota: $_SESSION es una variable global que existe a partir de PHP 4.1.0. Lo normal es que podamos acceder a esa variable normalmente, pero si nuestra versión de PHP no está actualizada podemos intentarlo con $HTTP_SESSION_VARS, que es también un array asociativo, aunque no es de ámbito global. Si $HTTP_SESSION_VARS tampoco funciona tendremos que registrar cada variable por separado con la función session_register(), enviándo por parámetro los nombres de las variables de sesión que desea utilizar desde PHP.

Existen otras dos configuraciones del php.ini que afectan al trabajo con variables de sesión, que son track_vars y register_globals. Por defecto track_vars está activado y register_globals está desactivado. Este es el caso normal y el que suponemos tendrá el servidor donde programes, pero si esas variables cambian podría cambiar alguna cosita, como que las variables se tengan que registrar explícitamente con session_register().

Ejemplo de código para definir una variable de sesión

<? 
session_start(); 
?> 
<html> 
<head> 
<title>Generar variable de sesión</title> 
</head> 
<body> 
<? 
$_SESSION["mivariabledesesion"] = "Hola este es el valor de la variable de sesión"; 
?> 
</body> 
</html>

Como se puede ver, es importante inicializar la sesión antes de hacer otra cosa en la página. Luego podremos definir variables de sesión en culquier lugar del código PHP de la página.

Para leer una variable de sesión se hace a través del mismo array asociativo $_SESSION. Es tan sencillo como haríamos para utilizar cualquier otra variable, lo único es que tenemos que haber inicializado la sesión previamente. Y por supuesto, que la variable que deseamos acceder exista previamente.

<? 
session_start(); 
?> 
<html> 
<head> 
<title>Leo variable se sesión</title> 
</head> 
<body> 
Muestro esa variable: 
<? 
echo $_SESSION["mivariabledesesion"]; 
?> 
</body> 
</html>

Como se puede ver, al inicio del código hemos inicializado la sesión y luego en cualquier parte del código podríamos acceder a las variables de sesión que tuviésemos creadas.

Nota: si intentamos acceder a una variable de sesión con $_SESSION que no ha sido creada obtendremos otro mensaje de error: Notice: Undefined index: mivariabledesesion, que es el mismo que si intentamos acceder a cualquier elemento de un array que no existe.

Más sobre sesiones en PHP

La siguiente información sobre sesiones de PHP también puede ser de útil lectura. No obstante lo expresado hasta aquí es una información mucho más actualizada. En las próximas líneas se explican mecanismos para sesiones pero todos los que se comentan, aunque son válidos, no son actuales por tratarse de explicaciones para versiones de PHP más antiguas.

Hemos dicho en el capítulo anterior que la variables de sesión se diferencian de las variables clásicas en que éstas residen en el servidor, son especificas de un solo usuario definido por un identificador y pueden ser utilizadas en la globalidad de nuestras páginas.

Para iniciar una sesión podemos hacerlo de dos formas distintas:

-Declaramos abiertamente la apertura de sesión por medio de la función session_start(). Esta función crea una nueva sesión para un nuevo visitante o bien recupera la que está siendo llevada a cabo.

-Declaramos una variable de sesión por medio de la función session_register('variable'). Esta función, además de crear o recuperar la sesión para la página en la que se incluye también sirve para introducir una nueva variable de tipo sesión.

Las sesiones han de ser iniciadas al principio de nuestro script. Antes de abrir cualquier etiqueta o de imprimir cualquier cosa. En caso contrario recibiremos un error.

Con lo visto, vamos a proponer el ejemplo clásico de utilización de una sesión: un contador. Este contador deberá aumentar de una unidad cada vez que recargamos la página o apretamos al enlace:

<?
session_register('contador');
?>
<HTML>
<HEAD>
<TITLE>contador.php</TITLE>
</HEAD>
<BODY>
<?
If (isset($contador)==0)
{$contador=0;}
++$contador;
echo "<a href="contador.php">Has recargado esta página $contador veces</a>";
?>
</BODY>
</HTML>

Ejecutar script

La condición if tiene en cuenta la posibilidad de que la variable $contador no haya sido todavía inicializada. La función isset se encarga de dar un valor cero cuando una variable no ha sido inicializada.

Otras funciones útiles para la gestión de sesiones son:

Para aprender más sobre las sesiones, concretamente para ver una aplicación que gestiona un carrito de compra por medio de variables sesión visita nuestro articulo del taller de PHP.

Si buscas más funciones o información adicional sobre las sesiones, consulta el manual oficial de PHP.

Autor

Rubén Alvarez

Rubén es doctor en química y programador aficionado con experiencia en PHP.

Compartir

Comentarios

Diego

12/6/2004
Tengo instalado el easyPHP que es un pakete que te instala y configura todo apache+php+mysql y al probar el ejemplo de sesiones II, la variable no se incrementa.

Arturo

23/7/2004
Para toda la gente que le sigue dando el error de ...

Warning: open(/tmpsess_a9c697dbc408bf5fa9e82fc239ac135d, O_RDWR) failed: No such file or directory (2) in C:Archivos de programaApache GroupApache2htdocssesion1.php on line 3

Warning: Cannot send session cookie - headers already sent by (output started at C:Archivos de programaApache GroupApache2htdocssesion1.php:3) in C:Archivos de programaApache GroupApache2htdocssesion1.php on line 3

Warning: Cannot send session cache limiter - headers already sent (output started at C:Archivos de programaApache GroupApache2htdocssesion1.php:3) in C:Archivos de programaApache GroupApache2htdocssesion1.php on line 3

...aun poniendo al principio del todo el script <?php.

En el fichero de configuración PHP.INI, hay una parte que se refiere a las SESSION, e indica que la carpeta temporal para las mismas es /TMP, cuando los que usamos windows no tenemos esa carpeta.

Entonces creamos una carpeta (por ejemplo c: mp) y cambiamos la configuración...

session.save_path = /tmp
por
session.save_path = c: mp

un saludo y espero que sirva!

juan ruben

10/1/2005
continúo aprendiendo, también tengo instalado el easyphp.exe y el ejemplo del contador no corre, pero haciéndole unas modificaciones si, por ejemplo:
<?
session_start();
$contador = $_SESSION['contador'];
?>
<HTML>
<HEAD>
<TITLE>contador.php</TITLE>
</HEAD>
<BODY>
<?
If (isset($contador)==0)
{$contador=0;}
++$contador;
echo "<a href="conta.php">Has recargado esta página $contador veces</a>";
$_SESSION['contador'] = $contador;
?>
</BODY>
</HTML>

alex

30/7/2005
aja..claro si funciona bien ,,,pero el anterior porque no funcionaba alguien puede explicar?????

Felipe

14/8/2005
Tengo una consulta sobre sesiones:
como puedo hacer para que en un mismo navegador, cada ventana distinta pertenezca a una sesion distinta.
Quiero hacer un sistema de venta, en el que exista la posibilidad de tener en una sesion una venta a medias e iniciar en otra pestaña del navegador otra sesion distinta

gustavo

08/12/2005
"Notice: Undefined index: contador in c:wampwwwcontador.php on line 3"
me sale este mensaje, hice el script segun el comentario, pero el script anda bien, alguien que me ayude para que no salga ese

Joel

07/2/2006
El scrip no puede ser visualizado en localhost verdad?, en el ftp no tengo problemas.

Joel

07/2/2006
Despues de haber modificado el archivo ini, y creado la carpeta y insertado el nuevo scrip, el error deja de persistir, pero el contador no avanza.

08/2/2006
Tengo la ultima actualización del xampp, los scrips lanzados contra un ftp funcionan correctamente, Ya no persiste error alguno, ni espacios en blanco, etiquetas bien puestas, php.ini modificada la ruta tmp y creada la carpeta. Pese a todo eso localhost no me avanza el contador. Es una pesadilla tener que subir en cada cambio al servidor para visualizar :P alguna solución. Gracias

Andrey

07/4/2006
Hola: tengo problemas...al parecer mi configuracion del php no acepta variables de seccion hay un error que me dice no reconocer
seccion_star(); y no me deja logear por otra parte tampoco parace que tengo bien configurado el envio y recepcion de varibles ...aveces me deja pasar las variables con los method (post, o Get) y otras veces no

PUeden decirme donde configuro esto


GRacias

Andrey

07/4/2006
Hola: tengo problemas...al parecer mi configuracion del php no acepta variables de seccion hay un error que me dice no reconocer
seccion_star(); y no me deja logear por otra parte tampoco parace que tengo bien configurado el envio y recepcion de varibles ...aveces me deja pasar las variables con los method (post, o Get) y otras veces no

PUeden decirme donde configuro esto


GRacias

Andrey

07/4/2006
Hola: tengo problemas...al parecer mi configuracion del php no acepta variables de seccion hay un error que me dice no reconocer
seccion_star(); y no me deja logear por otra parte tampoco parace que tengo bien configurado el envio y recepcion de varibles ...aveces me deja pasar las variables con los method (post, o Get) y otras veces no

PUeden decirme donde configuro esto


GRacias

Carlos Gonzalez

15/6/2006
Senores;

Para aquellas personas que esten usando PHP 5 el codigo que esta en la pagina no sirve ya que session_register('variable') no es compatible para versiones superiores a la 4. Para ello recomiendo el uso del $_SESSION[variable]. Aqui anexo un ejemplo:

<?
session_start();
?>
<html>
<head>
<title>Programa que sirve para declarar registros de sesiones</title>
</head>
<body>
<?
if (isset($_SESSION[contador])==0)
{$_SESSION[contador]=0;}
echo "<a href="prueba13.php">Prueba de contador $_SESSION[contador]</a>";
++$_SESSION[contador];
?>
</body>
</html>

Espero que les ayude en algo.

Danyer

08/11/2006
Necesito que alquien me diga como puedo utilizar las variables de session... para esta probleamtica que explicare seguidamente..

Tengo tres paginas .php (todo es orientado a objeto)

Usuarios.php que se encarga de almacenar los datos de los usuario (nombre , usser , pass).

Gestion.php que me va almacenando objetos de tipo usuario (nombre , usser , pass) con una funcion adicionar que se le pasa como parametro el objeto de tipo usuario.

Tiene otra funcion llamada MostrarContenido que me recorre el arreglo y me devuelve una tabla con todos los usuarios que estan el el arreglo

Finalmente otra pagina que me permite entrar los datos del usuario.

El probelma esta en que :

include('Gestion.php');
include('Usuario.php');

$copy_usser = new Usuario($_POST['nombre'] ,$_POST['usuario'],$_POST['password']); //campos del usuario
$objeto = new Gestion(); //objeto de Gestion
$objeto->Adicionar($copy_usser);
$objeto->MostrarContenido();

cunado inicioalizo el objeto ( $objeto = new Gestion(); //objeto de Gestion)
a la vez me esta creando el arreglo de nuevo cada vez que cargo la pagina..
por eso necesito almacenar ese objeto en una varieble de session....

Aqui les mando las tres paginas.php para que rebicen y me puedan ayudar...

/*******************Usuario*****************************

<?php
class Usuario
{
private $nombre;
private $usser;
private $pass;
//----------------------------------------------------------------------------------------------------------------
public function __construct($nombre , $usser,$pass)
{
$this->nombre = $nombre;
$this->usser = $usser;
$this->pass = $pass;

}
//----------------------------------------------------------------------------------------------------------------
public function GetNombre(){return $this->nombre;}
//----------------------------------------------------------------------------------------------------------------
public function GetUsser(){return $this->usser;}
//----------------------------------------------------------------------------------------------------------------
public function GetPass(){return $this->pass;}
//----------------------------------------------------------------------------------------------------------------
public function SetNombre($change){$this->nombre = change;}
//----------------------------------------------------------------------------------------------------------------
public function SetUsser($change){$this->usser = change;}
//----------------------------------------------------------------------------------------------------------------
public function SetPass($change){$this->pass = change;}
//----------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------
} //class
?>
/************************************************


/****************Gestion********************************
<?php
class Gestion
{
private $array;
//-------------------------------------------------------------------------------------------------------------------------
/* public function __construct()
{

$array = array();

}
*/
//-------------------------------------------------------------------------------------------------------------------------
public function Adicionar($Register)
{
if(count($this->array) > 0)
{
for($i = 0 ; $i<count($this->array);$i++)
{
if($this->array[i]->GetUsser() != $Register->GetUsser())
$this->array[i] = $Register; //adiciono objetos Usuarios
}//for
} //if
else
{
$this->array[i] = $Register; //adiciono objetos Usuarios
} //else

} //fuction
//-------------------------------------------------------------------------------------------------------------------------
public function MostrarContenido()
{
$longitud = count($this->array);
if($longitud == 1)
$longitud = 'Vacia';

echo '
<table border="3" align="center">
<tr>
<td>Cantidad de Usuarios</td>
<td><input type="text"value = '.$longitud.'></td>
</tr>
</table> ';

for($i = 0 ; $i<count($this->array);$i++)
{
echo '
<table border="3" align="center">
<tr>
<td>Usuario</td>
<td><input type="text" value = '.$this->array[i]->GetUsser().'></td>
</tr>
<tr>
</table>';
} //for

}//fuction
//-------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------


}

?>

//************************************************

//***************Vista_Gestion*********************************
<html>
<body>
<title>Pagina de Prueba</title>
</body>
<form action="Vista_Gestion.php" method="POST">
<table border="3" align="center">
<tr>
<td>Nombre</td>
<td><input type="text" name="nombre"></td>
</tr>

<tr>
<td>Usuario</td>
<td><input type="text" name="usuario"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="submit" value="Adicionar"></td>
</tr>
</table>
</form>
</html>


<?php

include('Gestion.php');
include('Usuario.php');

$copy_usser = new Usuario($_POST['nombre'] ,$_POST['usuario'],$_POST['password']); //campos del usuario
$objeto = new Gestion(); //objeto de Gestion
$objeto->Adicionar($copy_usser);
$objeto->MostrarContenido();

?>
//--------------------------------------------------------------





20/4/2007
En el artículo se cita:
Nota: Si en el php.ini se ha definido la variable session.auto_start = 1 se inicializa automáticamente la sesión en cada página que visita un usuario, sin que se tenga que hacer el session_start()
Yo me pregunto...¿Es aconsejable definir la variable session auto_start =1 en el php.ini? o ¿está definida a 0 (cero) por seguridad?

sandra pabon

20/6/2007
mi pregunta es hacerce de las variables de sesion tengo la siguiente instruccion

$query_reg='SELECT * FROM cliente WHERE apodo='.$_SESSION['id'].' and clave='.$_SESSION['log'];

pero solo sirve si el usuario tiene el apodo y la clave numericos si son de tipo cadena no se puede. como podria usar la misma instrucion pero que sirva para cadenas? gracias

saul

20/8/2007
sandra, el problema no son las variables de sesion sino la estructura sql. finalizala con ."'"; porque falta en la clave... suerte

Adan

13/11/2007
buenas:
Estoy realizando un proyecto pequeño para una materia de la Univ. y al poner en practica estos consejos tenia algunos inconvenientes ahi les va;
si les sale el sgte.mensaje de error
Warning: session_start() [function.session-start]: open(/tmpsess_2572c9920df5f7e28f7ed1144add41c8, O_RDWR) failed: No such file or directory (2) in
o algo parecido.
Yo modifique el php.ini de session.save_path = /tmp
a session.save_path = c: emp (si no esta el folder temp crearlo)
y dejo de mostrar ese error!!.Espero les ayude

Julian Fernando Cuero Palomino

10/1/2008
El codigo estaba bien bueno, claro que tenia un errorcito que ya corregi y solo son slash, ahi va otra vez

<?
session_start();
?>
<html>
<head>
<title>Programa que sirve para declarar registros de sesiones</title>
</head>
<body>
<?
if (isset($_SESSION[contador])==0)
{
$_SESSION[contador]=0;
}
echo "<a href="prueba13.php">
Prueba de contador $_SESSION[contador]
</a>";
++$_SESSION[contador];
?>
</body>
</html>

sandra

26/9/2008
hola que tal me pararece realmente interesante que paginas como estas se encardgen de resolver las dudas de los amigos programadores
gracias su interes

Jany

14/10/2008
Excelente información, me encantada siempre entrar a www.desarrlloweb.com, ya que, es muy explicativo.

Gracias

Carlos-

09/12/2008
El contador no funciona
http://www.desarrolloweb.com/articulos/ejemplos/php/contador.php

betobito

02/12/2009
Como utilizar las variables de SESION?
Necesito saber como le hago usando variables de sesion, para que de un formulario pase los datos a otra pagina en donde hay otro formulario que a su vez pasa mas datos a una tercera pagina que es en donde quiero que llegen todos los datos para poderlos insertar. Necesito una idea esto.
Mi codigo en el sig:

sesion1.php //Aqui esta el formulario uno en la primera pagina

?
session_start();
?>
<html>
<head>
<title>Generar variable de sesión</title>
</head>
<body>
<?
$_SESSION["id"] = $id;
$_SESSION["nombre"]=$nombre;
?>
<form action="sesion2.php" method="post">
<p>Id
<input name="id" type="text" value="" size="">
</p>
<p>
Nombre
<input name="nombre" type="text" value="" size="">
</p>
<p>
<input name="" type="submit" value="CONTINUAR">
</p>
</form>
</body>
</html>

sesion2.php //Aqui esta el formulario 2 en la segunda pagina

<?
session_start();
?>
<html>
<head>
<title>Mis variables de sesión</title>
</head>
<body>
<?
echo $_SESSION["id"]=$id;
$_SESSION["direccion"];
?>
<form action="sesion3.php" method="post">
<p>
Direccion
<input name="direccion" type="text" value="">
</p>
<p>
<input type="submit" value="Enviar">
</p>
</form>
</body>
</html>

sesion3.php //Aqui quiero ver todos lo resultados

<?
session_start();
?>
<html>
<head>
<title>Muestra las variables de sesión</title>
</head>
<body>
Muestro las variables:
<?
echo $_SESSION["id"];
echo $_SESSION["nombre"];
echo $_SESSION["direccion"];
echo $_SESSION["telefono"];
?>
</body>
</html>

ESPERO QUE ME PUEDAN AYUDAR

jose

11/12/2009
Para pasar los valores ocultos a otro formulario o codigo
Para la persona que quiere saber como pasar los resultados sin que se vean los datos en la pantalla
Es muy facil solo utiliza
por ejemplo
//////*****************/
ejemplo.php
<?
//tengo una variable que se llama nombre

$nombe="jose";
///para pasar el valor a un formulario

<form name="formulario1" method="post" action="ejemplo2.php" >
//para pasar ese valor a ejemplo dos se hace lo siguiente
<input type="hidden" name="nombre" value="<? echo $nombre;?>">
</form>

/*********/



/*********************/
ejemplo2.php

<?
echo "EL VALOR DE LA VARIA NOMBRE ES :"."<br>".$nombre;

?>
/***************/



<input type="hidden" name="nombreDeTuVariable" value="<? echo $valordetuVariables;?>">
/**En tu caso seria nombre***/
<input type="hidden" name="nombre" value="<? echo $nombre;?>">
<input type="hidden" name="direccion" value="<? echo $direccion;?>">

//espero te ayude con esto

Victor

01/2/2010
Rta:Como utilizar las variables de SESION?
Guarda todas las variable en $_session

CLS

16/4/2010
RESPONDIENDO A betobit... Como utilizar las variables de SESION?
Espero te sirva ya se que paso mucho tiempo desde que publicaste tu mensaje pero apenas lo lei... te mando lo que yo hice espero te sirva va que va...

// sesion1.php

<?
session_start();
?>
<html>
<head>
<title>Generar variable de sesi&oacute;n</title>
</head>
<body>

<form action="sesion2.php" method="POST">
<p>Id
<input type="text" name="id" value="" size="">
</p>
<p>
Nombre
<input type="text" name="nombre" value="" size="">
</p>
<p>
<input name="enviar" type="submit" value="CONTINUAR">
</p>
</form>
</body>
</html>


//sesion2.php
<?
session_start();
?>
<?
$_SESSION['id'] = $_POST[id];
$_SESSION['nombre']= $_POST[nombre];
?>

<html>
<head>
<title>Mis variables de sesi&oacute;n</title>
</head>
<body>

<form action="sesion3.php" method="POST">
<p>
Direccion
<input name="direccion" type="text" value="">
</p>
<p>
<input type="submit" value="Enviar">
</p>
</form>
</body>
</html>

//sesion3.php
<?
session_start();
?>
<?
$_SESSION['direccion']=$_POST[direccion];
?>
<html>
<head>
<title>Muestra las variables de sesi&ocuate;n</title>
</head>
<body>
Muestro las variables:
<?
echo "<br>";
echo $_SESSION['id'];
echo "<br>";
echo $_SESSION['nombre'];
echo "<br>";
echo $_SESSION['direccion'];

?>
</body>
</html>

saludos.

cesar_martinez-348403

16/4/2010
RESPONDIENDO A betobit... Como utilizar las variables de SESION?
espero te sirva aun, lo del script, cualquier cosa mi correo es kc_true@hotmail.com

//sesion1.php
<?
session_start();
?>
<html>
<head>
<title>Generar variable de sesi&oacute;n</title>
</head>
<body>

<form action="sesion2.php" method="POST">
<p>Id
<input type="text" name="id" value="" size="">
</p>
<p>
Nombre
<input type="text" name="nombre" value="" size="">
</p>
<p>
<input name="enviar" type="submit" value="CONTINUAR">
</p>
</form>
</body>
</html>

//sesion2.php
<?
session_start();
?>
<?
$_SESSION['id'] = $_POST[id];
$_SESSION['nombre']= $_POST[nombre];
?>

<html>
<head>
<title>Mis variables de sesi&oacute;n</title>
</head>
<body>

<form action="sesion3.php" method="POST">
<p>
Direccion
<input name="direccion" type="text" value="">
</p>
<p>
<input type="submit" value="Enviar">
</p>
</form>
</body>
</html>


//sesion3.php
<?
session_start();
?>
<?
$_SESSION['direccion']=$_POST[direccion];
?>
<html>
<head>
<title>Muestra las variables de sesi&ocuate;n</title>
</head>
<body>
Muestro las variables:
<?
echo "<br>";
echo $_SESSION['id'];
echo "<br>";
echo $_SESSION['nombre'];
echo "<br>";
echo $_SESSION['direccion'];

?>
</body>
</html>

saludos.

pablo

15/3/2011
duda para CLS
Hola,
entiendo el ejemplo anterior(el escrito por CLS), pero ¿no se podria hacer igualmente con cookies SIN CAMBIAR EL CODIGO(simplemente el array $_COOKIE["......."])?

DC

22/3/2011
REGISTRAR NOMBRE DE COOKIE EN TABLA DE MYSQL
HOLA:
MI INTERES POR GUARDAR LOS REGISTROS O MODIFICACIONES QUE SE HACEN EN UNA TABLA DE MYSQL SE QUEDE GUARDADO EL NOMBRE DE USUARIO QUE REALIZO TAL ACCION... ESTOY MANEJANDO FORMULARIOS EN PHP QUE INTERACTUAN CON LA BASE DE DATOS EN MYSQL..

juan carlos

31/3/2011
sesiones
Es cierto lo que comenta el señor Carlos Gonzalez;

Pero a un así falta implementar apostrofes a la variables de sesion y concatenar la variable de sesion a su código; En mi caso trabajo con wamp y la versión de php es 5.3.5 y de esta forma me funciono de maravilla.

<?php
session_start();
?>
<html>
<head>
<title>Programa que sirve para declarar registros de sesiones</title>
</head>
<body>
<?php
if (isset($_SESSION['contador'])==0)
{$_SESSION['contador']=0;}
echo '<a href="sesioncontador.php">Prueba de contador'.$_SESSION['contador'].'</a>';
++$_SESSION['contador'];
$_SESSION['contador'];
?>
</body>
</html>

saludos :)

claudia ximena diuza moreno

09/6/2011
Agradecerle a la persona que dio la respuesta a este tema.
Me parecio algo muy bien explicado tiene excelentes ejemplos. los cuales nos sirven bastante a lo que visitemos esta pagina


Muchas Gracias Por Todo.
Att. CLAUDIA XIMENA DIUZA MORENO.

rojillo

15/7/2011
gracias
gracias me sirvió bastante!
Saludos

cmarti

20/9/2012
apostrofes vs comillas
Este scrip no me funcionaba porque en la misma línea del echo convivían apóstrofes y comillas. FALLA. Hay que reemplazar unas u otras por apóstrofes o comillas según quieran reemplazar una u otra.

jorge tejedor

06/5/2014
base de datos con sessiones soy novato gracias por su aporte DIOS haz de pagar ..gracias....es para crear va
mi trabajo es hacer un formulario o hacer cada pagina personal del cliente es como facebook con su email y la contrasaña gracias amigos ...