Foros del Web » Programando para Internet » PHP »

$_SESSION no funciona en directorio raiz

Estas en el tema de $_SESSION no funciona en directorio raiz en el foro de PHP en Foros del Web. Hola! Estoy desarrollando un sitio dinámico con php+mySQL, con cuentas de usuario. Cuando el usuario inicia sesión, se guarda su id en una variable $_session, ...
  #1 (permalink)  
Antiguo 07/11/2009, 14:43
Avatar de okra  
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 9 meses
Puntos: 0
$_SESSION no funciona en directorio raiz

Hola! Estoy desarrollando un sitio dinámico con php+mySQL, con cuentas de usuario.
Cuando el usuario inicia sesión, se guarda su id en una variable $_session, para que cada vez que ingrese a una página, se compruebe si se encuentra logeado y de qué usuario se trata.

Esto funciona perfecto, pero sólo en los subdirectorios (ejemplo 'www.sitio.com/carpeta'), pero no en el raíz ('www.sitio.com').

Puedo iniciar dentro de la subcarpeta, y moverme entre distintas subcarpetas perfectamente, pero ni bien voy al raiz (sitio.com/home.php, o cualquier otra), se pierden las variables y no puedo iniciar sesión: no puedo leer ni guardar las $_session.

Cada página tiene un session_start() al principio, y lo raro es que no me había pasado hasta ahora que, sin haber hecho ningún cambio (aparentemente), pasa esto.

Es raro que copiando una página que estaba en el raiz (sin funcionar las sessions) a una carpeta, anda perfecto.

Habrá alguna configuración del php.ini, o tendré que hablar con el hosting, o cómo se podrá solucionar? Soy de un nivel intermedio en php, pero este tema me rompe la cabeza.

Gracias!!!
  #2 (permalink)  
Antiguo 07/11/2009, 15:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: $_SESSION no funciona en directorio raiz

debes establecer la configuración de la sesión, por favor lee el manual al respecto
http://php.net/session
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/11/2009, 16:11
Avatar de okra  
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: $_SESSION no funciona en directorio raiz

gracias, pateketrueke.

Siempre miro el manual ante cualquier duda, pero si recurro al foro es porque la solución no la encontré ahi. O al menos no sé dónde buscarla.

Si pudieras ser más preciso, quizás sepas qué parametro configurar en el php.ini, o qué función usar, y puedas decirme un poco más. Si tenés tiempo.

Gracias
  #4 (permalink)  
Antiguo 07/11/2009, 16:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: $_SESSION no funciona en directorio raiz

muy bien, me parece correcto...

por lo general son los parametros con los cuales se establecen las cookies de la sesión, esta información se encuentra aquí:
http://www.php.net/manual/en/functio...kie-params.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/11/2009, 23:55
Avatar de okra  
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 9 meses
Puntos: 0
Sonrisa Respuesta: $_SESSION no funciona en directorio raiz

Gracias pateke por tus respuestas!

Lo pude solucionar, pero de una manera medio extraña, les cuento por si a alguien le sirve.

Resulta que por otro tema distinto (upload_max_filesize), yo había creado un php.ini en el directorio raiz. Funcionaba bien, y cuando apareció este problema de las sessions, probé poniendo cosas como session.cookie_path = "/", o session.cookie_domain = "sitio.com", y no se arreglaba nada... pero eliminé este php.ini, y ahora funciona perfecto.

Supongo que tendré que subir el php.ini a otra carpeta, no se, pero bueno, ese es otro tema.

Gracias pateketrueke igual, y al foro en general que siempre me ha sido de ayuda..
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 22:28.