Foros del Web » Programando para Internet » PHP »

Problemas de sesiones

Estas en el tema de Problemas de sesiones en el foro de PHP en Foros del Web. Hola de nuevo, Tengo el problema de que las sesiones no se me mantienen entre el dominio principal y un subdominio, y me gustaria mantenerlas ...
  #1 (permalink)  
Antiguo 15/06/2010, 14:21
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Problemas de sesiones

Hola de nuevo,

Tengo el problema de que las sesiones no se me mantienen entre el dominio principal y un subdominio, y me gustaria mantenerlas

En la web prinicipal comienza por.

Código PHP:
session_name('Ses_id');
session_set_cookie_params(0'/''.ejemplo.com');
session_start(); 
Y el subdominio

Código PHP:
session_name('Ses_id');
session_set_cookie_params(0'/''.ejemplo.com');
session_start(); 
Y me encuentro que el dominio y el subdominio tiene sus propias sesiones pero no me las mantiene de uno al otro.

Porque? no es asi?

Veo que en el apache me crea un archivo de la sesion

dominio /tmp/sess_f58d5694f0713d3ddbfc6aa28645a3d5
subdominio /tmp/sess_8010e91ccd2a10292a049fe97d63ec7f


Un saludo y gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #2 (permalink)  
Antiguo 15/06/2010, 14:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problemas de sesiones

En el subdominio debes quitar la línea de session_set_cookie_params.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 15/06/2010, 14:27
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

Ya se lo e quitado me va igual

DOMINIO
Código PHP:
session_name('Ses_id');
session_set_cookie_params(0'/''.ejemplo.com');
session_start(); 
SUBDOMINIO
Código PHP:
session_name('Ses_id');
session_start(); 
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #4 (permalink)  
Antiguo 15/06/2010, 15:03
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Problemas de sesiones

Perdon, no seria al reves....

Código PHP:

//al reves...?
session_name('Ses_id'); 
session_start();  

O sea:

//primero se inicia la session, o se continua...
session_start();  
//...y luego lo demas...?
session_name('Ses_id'); 
  #5 (permalink)  
Antiguo 15/06/2010, 15:18
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

Ahora lo tengo así pero me va igual

DOMINIO www.xxxxxxxxxxxx.com

Código PHP:
session_start();
session_name('Ses_id');
//session_set_cookie_params(0, '/', '.xxxxxxxxxxxx.com'); 
SUBDOMINIO prueba.xxxxxxxxxxxx.com

Código PHP:
session_start();
session_name('Ses_id');
//session_set_cookie_params(0, '/', '.xxxxxxxxxxxx.com'); 
No me funciona, que raro y me funcionaba bien.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #6 (permalink)  
Antiguo 15/06/2010, 15:43
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

Podria ser problemas de la configuracion de php.ini? pero es raro me funcionaba bien.

En el servidor alojado me funciona perfecto, solo es el mio en el local donde no me funciona.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #7 (permalink)  
Antiguo 15/06/2010, 15:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problemas de sesiones

Puede que un sub-dominio (especialmente si es que estás usando algún hosting) esté en diferentes servidores. Al pasar esto las sesiones aunque indiques el id directamente no va a saber la información que corresponde porque la información que se almacena temporalmente en el servidor no la puede acceder, ya que, como te indiqué, puede que esté en otro servidor. La forma que puedes lograrlo, entonces, es almacenar en una tabla de una base de datos la información de las sesiones y llamar la información de la base de datos y almacenarlas en las sesiones de los subdominios.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 15/06/2010, 16:07
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

Yo en el local que tengo con un apache montado veo que me hace dos archivos de la session y en verdad me tendria que hacer 1 por dominio y subdominio.

En el servidor de hosting todo perfecto pero es raro que en el local de pruebas de casa no me funcione.
En la base de datos lo podria guardar pero lo que quiero es un login de usuario y si en el subdominio no me lo reconoce no podre identificarlo igualmente.

Habria alguna manera de solucionarlo?
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #9 (permalink)  
Antiguo 15/06/2010, 16:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problemas de sesiones

Yo sí vi el id que crea la sesión en el subdominio, lo que no pude ver fue la información que tenía en la sesión. Trata para que veas usando session_set_cookie_params en el subdominio (que me equivoqué indicándote que borraras está función en el subdominio la primera vez) y haz un var_dump a los cookies para que veas el id que genera el cookie con el id que generó en el dominio.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 15/06/2010, 16:16
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

te escribo los datos de la sesiones

DOMINIO

sess_37a4852cf2997e6d8553f562a0d69fe2
idioma_web|s:4:"MQ==";

Código PHP:
session_set_cookie_params(0'/''.xxxxxxxxxxxxx.com');
session_start(); 
SUBDOMINIO

sess_65902481adfe99eac3546de87176af01
idioma_web|s:4:"Mw==";cojido|s:9:"mi_cuenta";

Código PHP:
session_set_cookie_params(0'/''.xxxxxxxxxxxxx.com');
session_start(); 
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #11 (permalink)  
Antiguo 15/06/2010, 16:20
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

He hecho

var_dump($_SESSION[idioma_web]);

DOMINIO
string(4) "MQ=="
SUBDOMINIO
string(4) "MQ=="
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #12 (permalink)  
Antiguo 15/06/2010, 16:22
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

con

var_dump(session_name());
var_dump(session_id());

DOMINIO
string(6) "Ses_id" string(32) "f58d5694f0713d3ddbfc6aa28645a3d5"
SUBDOMINIO
string(6) "Ses_id" string(32) "8010e91ccd2a10292a049fe97d63ec7f"
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #13 (permalink)  
Antiguo 15/06/2010, 16:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problemas de sesiones

No, haz un var_dump a $_COOKIE
Código PHP:
Ver original
  1. var_dump($_COOKIE);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #14 (permalink)  
Antiguo 15/06/2010, 16:27
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

DOMINIO

array(9) { ["__utma"]=> string(55) "82555906.1892326473.1276530467.1276629884.1276636 554.11" ["__utmz"]=> string(109) "82555906.1276636554.11.3.utmcsr=ssl.xxxxxxxxx.com |utmccn=(referral)|utmcmd=referral|utmcct=/mi_cuenta/" ["__utmc"]=> string(8) "82555906" [1]=> string(32) "98bd6450c1404afe1e5e14effbf98ef0" ["Ses_id1"]=> string(32) "045b88c49de10cc52e4bb0306d4624ae" ["Ses_idx"]=> string(32) "5b55c923fc0467e72512c581fc6af28c" ["Ses_id"]=> string(32) "f58d5694f0713d3ddbfc6aa28645a3d5" ["PHPSESSID"]=> string(32) "37a4852cf2997e6d8553f562a0d69fe2" ["__utmb"]=> string(26) "82555906.113.10.1276636554" }

SUBDOMINIO

array(9) { ["__utma"]=> string(55) "188395818.1475796407.1276510291.1276623367.127663 6522.6" ["__utmz"]=> string(95) "188395818.1276636522.6.5.utmcsr=xxxxxxxxxxxx.com| utmccn=(referral)|utmcmd=referral|utmcct=/" ["__utmc"]=> string(9) "188395818" [1]=> string(32) "8044831ae8fbb2e2c0f967f6d618a191" ["Ses_id1"]=> string(32) "54cfc5550ae60a1b60b31125d19f8492" ["Ses_idx"]=> string(32) "06066205250a0f4e02c7735367847827" ["Ses_id"]=> string(32) "8010e91ccd2a10292a049fe97d63ec7f" ["PHPSESSID"]=> string(32) "65902481adfe99eac3546de87176af01" ["__utmb"]=> string(26) "188395818.78.10.1276636522" }
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #15 (permalink)  
Antiguo 15/06/2010, 16:42
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

Vaya vaya tela ahora veo que es el navegador MOZILLA FIREFOX, lo e probado con IE, SAFARI, CHROME y todo perfecto.

Vaya vaya
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #16 (permalink)  
Antiguo 15/06/2010, 17:03
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Problemas de sesiones

Son distintas:


Dominio
["PHPSESSID"]=> string(32) "37a4852cf2997e6d8553f562a0d69fe2"
Subdominio
["PHPSESSID"]=> string(32) "65902481adfe99eac3546de87176af01"


Prueba esto:

Código PHP:

//Dominio:
session_start(); 
$_SESSION['ses_var']="Valor";
//copia y postea esta id
echo session_id();

//Sub-dominio:
session_start(); 
//copia
echo $_SESSION['ses_var'];
//tambien copia y postea esta id
echo session_id(); 

//auque si no se continua la sesion, no creo que funcione
  #17 (permalink)  
Antiguo 15/06/2010, 23:16
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas de sesiones

Son dos diferentes

DOMINIO: 37a4852cf2997e6d8553f562a0d69fe2
SUBDOMINIO: 65902481adfe99eac3546de87176af01


Pero porque?

Gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #18 (permalink)  
Antiguo 16/06/2010, 10:29
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Problemas de sesiones

Por diferente id.

Algo basico que te puede permitir ver si la sesion continua o si session_start() crea otra nueva, es esto:

Configura los enlaces para ir de un archivo a otro

En el dominio pon an archivo php con este codigo
Código PHP:

<?php
session_start
();
//esto te mostrara la id de sesion
echo session_id();
?>
<br /><a href='ruta al sub-dominio.php'>Ir al subdominio</a>

Y en el sub dominio haz lo mismo
Código PHP:

<?php
session_start
();
//esto te mostrara la id (si es igual a la anterior funciona)
echo session_id();
?>
<br /><a href='ruta al dominio.php'>ir al dominio</a>

Etiquetas: sesiones
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 13:03.