Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Tengo un problema con las sesiones. Probando con dos scripts llamados script1.php y script2.php, declaro las variables globales del script1 y quiero verlas en el ...
  #1 (permalink)  
Antiguo 24/04/2005, 19:03
 
Fecha de Ingreso: abril-2005
Mensajes: 8
Antigüedad: 19 años
Puntos: 0
Pregunta Problema con sesiones

Tengo un problema con las sesiones.
Probando con dos scripts llamados script1.php y script2.php, declaro las variables globales del script1 y quiero verlas en el script2 y no me muestra nada. Me fijo en la carpeta donde se guardan las sesiones y cada script me genera un archivo de sesion. El archivo de sesion del primer script me guarda las variables bien, pero el segundo script me genera un archivo de sesion vacio. ¿Donde esta el problema?

A continuacion les paso los codigos de los dos scripts y las sesiones que genera:

<?php
session_name("script1");
session_start();

echo "El ID actual es: ".session_id()."<br>";
echo "La ruta actual es: ".session_save_path()."<br>";
$_SESSION['tit']="Estoy usando sesiones";
$_SESSION['cf']="green" ;
$_SESSION['ct']="red";
$_SESSION['t']="Este es el texto de la página que voy a mostrar";




echo "<a href='script2.php'>Ver el script2</a>";
?>
---------------------------------------------------
<?
session_name("script2");
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Language" content="es-mx">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title><?echo $_SESSION['tit'];?></title>
</head>
<? echo "El ID actual2 es: ".session_id()."<br>";
echo "La ruta actual2 es: ".session_save_path()."<br>";
?>
<body bgcolor="<? echo $_SESSION['cf']; ?>">
<p><font size="4" color="<?echo $_SESSION['ct'];?>"><? echo $_SESSION['t'];?></font></p>
</body>
</html>

-------------------------------------------

Lo que muestra el script1:

El ID actual es: v5luoinihojgikvh796f6qe805
La ruta actual es: D:\sesiones\
<link para script2>


Lo que muestra el script2:

El ID actual2 es: kumcr2qdoh9mm9q1b6tqp2llj1
La ruta actual2 es: D:\sesiones\


La sesion v5luoinihojgikvh796f6qe805 muestra los valores correctos de las variables:

tit|s:21:"Estoy usando sesiones";cf|s:5:"green";ct|s:3:"red";t|s:47:"Este es el texto de la página que voy a mostrar";

La sesion kumcr2qdoh9mm9q1b6tqp2llj1 no muestra nada, es un archivo vacio


-----------------------------------------------------------------

Por favor, ¿Como podria resolver esta cuestion, que hago mal, donde esta el problema?
Muchas Gracias
chimu.
  #2 (permalink)  
Antiguo 24/04/2005, 23:09
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
creo que es asi:

sucede que cuando creas una sesion tienes dos formas de identificarlas:
por session id
o por el nombre que le asignaste, esta ultimas es la mas utilizada (LOL)
bueno como asi por ejmplo yo me llamo LUIS a la sesion le asignas un nombre con la referencia:
session_name("script1");

luego inicailizas una sesion con session_start()

por eso cuando quieras hacer una referencia de alguna variable creada en una sesion determinada, debes iniciar la misma session, en el caso que nos expones estas utilizando dos nombres de sesiones diferentes entonces por eso te crea dos sesiones, para solucionarlo en el segundo script en ves de utilizar:
Código PHP:
session_name("script2");
session_start(); 
deberas de utilizar
Código PHP:
session_name("script1");
session_start(); 
eso hace que consultes la misma sesion en la que guardaste las respectivas variables.

un saludo
__________________
SEO en Medellin
  #3 (permalink)  
Antiguo 25/04/2005, 08:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El nombre de la sesión definida por session_name() debe ser el mismo- en los scripts que accedas a tus varaibels creadas en otros .. sino estás usando DOS sesiones diferentes ..

Por lo menos en el caso que tenemos .. de script1.php a script2.php ha de ser

session_name("El_nombre_de_la_sesion");

Un saludo,
  #4 (permalink)  
Antiguo 25/04/2005, 14:06
 
Fecha de Ingreso: abril-2005
Mensajes: 8
Antigüedad: 19 años
Puntos: 0
Muchas gracias chicos, voy a probar sus sugerencias, espero que sea eso.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:38.