PHP - SESIONes que no funcionan

 
Vista:

SESIONes que no funcionan

Publicado por espejor (2 intervenciones) el 31/05/2005 11:34:49
Hola.
tengo el siguiente problema:

Uso PHP 5.0.2

En el archivo A.php he escrito esto:

...
session_start();
$_SESSION ["var1"] = $variable1;
$_SESSION ["var2"] = $variable2;
$_SESSION ["var3"] = $variable3;
...

Y en el archivo B.php escribo esto:
...
session_start();
$varA = & $_SESSION ["var1"];
$varB = & $_SESSION ["var2"];
$varC = $_SESSION ["var3"];

print_r($_SESSION);
...

Y se imprime:

Array (
"var1"=>
"var2"=>
)

Es decir desaparecen las claves de los elementos que no paso por referencia y desaparecen todos los valores
//-------------------------

Si hago:
...
session_start();
$varA = $_SESSION ["var1"];
$varB = $_SESSION ["var2"];
$varC = $_SESSION ["var3"];

print_r($_SESSION);
...

Se imprime:

Array()

Es decir desaparecen claves y valores
//-------------------------

Y si hago:

...
session_start();

print_r($_SESSION);

$varA = & $_SESSION ["var1"];
$varB = & $_SESSION ["var2"];
$varC = & $_SESSION ["var3"];
...
Se imprime:

Array()

Desaparecen claves y valores
//-------------------------

¿Alguien me puede esplicar qué pasa?
Necesito que las variables de SESSION se transmitan correctamente
¿Es un problema del php.ini?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SESIONes que no funcionan

Publicado por espejor (2 intervenciones) el 01/06/2005 09:11:56
Por si le sirve a alguien, yo solito he encontrado el origen del problema.

Resulta que las variables SESSION se guardan en el directorio que se haya establecido en la directiva session.save_path del archivo php.ini, el cual se puede modificar en tiempo de ejecución mediante la función session_save_path("<path>"), que además, si se llama sin argumento devuelve el path definido con anterioridad.

Pues bien, lo que me ha ocurrido es que tras instalar Maguma Studio, este programa me ha modificado el php.ini y supongo que modificó esa directiva introduciendo un path que no existía en mi ordenador, por lo que no guardaba nada de la SESSION.

Concluyendo, he creado el directorio c:/tmp que es el path que se indicaba en mi php.ini y se resolvió todo el problema.

Además si editamos con el bloc de notas el archivo que guarda la session veremos las variables y el valor de éstas, por lo que en caso de algún fallo podremos ver que está pasando.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SESIONes que no funcionan

Publicado por Esteban (120 intervenciones) el 04/06/2005 17:26:20
Hay otro elemento al cual no se le presta atensión, pero es de mucha utilidad. En el archivo php.ini debes buscar la línea:
register_globals = Off -> Este es el valor por defecto
cámbiala por register_globals = On
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar