Foros del Web » Programando para Internet » PHP »

Sesiones sin datos

Estas en el tema de Sesiones sin datos en el foro de PHP en Foros del Web. Buenas, aquí os dejo otro ladrillo sobre sesiones Problema: Cuando realizo varios script para el uso de sesiones, el SID me lo trasmite sin problemas ...
  #1 (permalink)  
Antiguo 14/11/2004, 09:52
Avatar de Yagorat  
Fecha de Ingreso: marzo-2002
Ubicación: Madrid
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Sesiones sin datos

Buenas, aquí os dejo otro ladrillo sobre sesiones

Problema: Cuando realizo varios script para el uso de sesiones, el SID me lo trasmite sin problemas por URL, pero en la página destino las variables aparecen vacias.

Configuración: Tengo instalado PHP 4.1.2 en mi casa bajo apache con las siguientes directivas en php.ini
register_globals = Off
session.use_trans_sid = On
session.use_cookies = Off
session.save_path = "Uno correcto"

Los script que utilizaba antes con normalidad, ahora no me funcionan y al mirar en la carpeta donde guarda las sesiones, aparecen los archivos con nombres como "sess_703af61531caf38866bffdb1e531fdf8" pero totalmente vacios.

Aqui os pongo un ejemplo:

primera.php
Código PHP:
<?php
session_start
();
$_SESSION['prueba']="12";
?>
    <a href="segunda.php">Segunda</a>
segunda.php
Código PHP:
<?php
session_start
();
$usuario $_SESSION['prueba'];

echo 
"Usuario: ".$usuario;
A ver si es que el problema es más simple de lo que pienso y por eso no me doy cuenta
__________________
Más sabe el diablo por viejo que por diablo.
  #2 (permalink)  
Antiguo 15/11/2004, 05:05
 
Fecha de Ingreso: noviembre-2004
Mensajes: 8
Antigüedad: 13 años, 1 mes
Puntos: 0
A mi me pasa lo mismo con la version de PHP 4.3.9. A ver si alguien sabe la solución. ¿Antes trabajabas con otro servidor de PHP?
  #3 (permalink)  
Antiguo 15/11/2004, 07:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para ir descartando problemas:

Con la versión de PHP que usas .. no deberís tener problemas con el uso de los arrays superglobales $_SESSION

El uso que haces de:
session.use_trans_sid = On

En teoría le dice a PHP que sobreescriba el SID en el URL de tus redireccionamientos, en concreto de los que define la directiva: url_rewrite_tags .. donde uno de ellos son los <a .. href> para los links comunes .. Pero no lo hará en redireccionamientos tipo: javascript (window.open . .window.location .. etc) ni en refrescos de página en <meta .. > de refresh .. ni tampoco en header ("Location ...") de PHP.

Si dices ver el SID propagado en el URL .. habría que ver si el SID originado en tu pagina1 ese igual al que se propaga por el URL .. se supone que sí y ..si es así la sesión debería continuar y tu archivo de sesiones creado en tu servidor tendría que contener tus variables.

¿Que valores tienen las directivas?:
session.gc_maxtimelife
session.gc_probality

Cualquier otro array supergloblal: $_POST, $_GET .. etc .. ¿te funciona? ..

Un saludo,
  #4 (permalink)  
Antiguo 15/11/2004, 11:53
Avatar de Yagorat  
Fecha de Ingreso: marzo-2002
Ubicación: Madrid
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Creo que puede ser una mala instalación o que he modificado algo importante, porque todo parece estar bien.

- El SID original que aparece en la pagina1, es el mismo que llega a la pagina2.

- Lo valores que me pides los tengo como sigue:
session.gc_probability = 1
session.gc_maxlifetime = 1440

- He probado transmitiendo el SID atraves de $_POST y $_GET y nada, trasmite el SID pero las variables estan vacias, se crea el fichero pero con 0kb y nada dentro

- Tambien he instalado otras versiones como la 4.3.3 y nada, sigue igual.
__________________
Más sabe el diablo por viejo que por diablo.
  #5 (permalink)  
Antiguo 15/11/2004, 12:00
Avatar de chr_c  
Fecha de Ingreso: junio-2003
Mensajes: 204
Antigüedad: 14 años, 6 meses
Puntos: 0
Yo no recuerdo como viene en forma predeterminada el php.ini con respecto al session.use_cookies, pero estas teniendo en cuenta que las sessiones USAN cookies????
Es decir, las cookies son la llave que le entrega al usuario, y para habilitar las sessiones con session_start(), pregunta por la cookie del usuario, para "abrir" la sesion que tine guardada........

revisa bien el parametro de las cookies!!!!
  #6 (permalink)  
Antiguo 15/11/2004, 12:46
Avatar de Yagorat  
Fecha de Ingreso: marzo-2002
Ubicación: Madrid
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Como he puesto en el primer post tengo deshabilitado el uso de cookies en las sesiones, ya que quiero que pueda ser usado por gente que restringe las cookies. De todas maneras he probado también con cookies y tampoco me funciona, aunque yo lo quiero utilizar sin cookies. (Creo que he usado demasiado la palabra cookies en este post )
__________________
Más sabe el diablo por viejo que por diablo.
  #7 (permalink)  
Antiguo 15/11/2004, 13:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. y has probado a propagar el SID manualmente ?

me refiero a tus links usar el SID como constante que es tipo:

Código PHP:
<a href="segunda.php?<? echo SID ?>">Segunda</a>
Un saludo,
  #8 (permalink)  
Antiguo 15/11/2004, 14:51
Avatar de Yagorat  
Fecha de Ingreso: marzo-2002
Ubicación: Madrid
Mensajes: 161
Antigüedad: 15 años, 8 meses
Puntos: 0
Gracias a todos por vuestros post.

Al final parece ser que habia algo mal instalado, o que creaba conflicto, aunque lo habia reinstalado varias veces sin conseguir solucionarlo.

Esta vez lo he limpiado bien todo, he instalado la aplicacion Foxserv, despues he actualizado php a la version 4.3.9, venia la 4.0 por defecto, luego también he actualizado Mysql y phpmyadmin y ahora las sesiones funcionan perfectamente.

Lo único que algo no habré hecho bien al actualizar Mysql porque ahora no me deja conectar a la base de datos desde script y si desde phpmyadmin pero bueno, ese es otro tema.

[Edito]: Ya he solucionado este último problema, que eran dos, el primero que no me mostraba los mensajes de error, cambiandolo en el php.ini y ya está, y el otra buscando en el foro, un post de josemi me ayudo, no habia creado un usuario para acceder a la base de datos.
__________________
Más sabe el diablo por viejo que por diablo.

Última edición por Yagorat; 15/11/2004 a las 17:02
  #9 (permalink)  
Antiguo 17/11/2004, 04:04
 
Fecha de Ingreso: noviembre-2004
Mensajes: 8
Antigüedad: 13 años, 1 mes
Puntos: 0
Yagorat podrias postear tu php.ini, es que yo tengo la misma version de php y no me funcionan las sessiones. Por cierto tienes un privado mio.

Un saludo
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 05:52.