Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mantener sesion

Estas en el tema de Mantener sesion en el foro de PHP en Foros del Web. Hola, tengo un problema con una web que tengo en un servidor de prueba mis urls son algo asi: www.subdominio1.dominio.com www.subdominio2.dominio.com www.subdominio3.dominio.com cuando me logueo ...
  #1 (permalink)  
Antiguo 19/03/2013, 09:55
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 4 meses
Puntos: 2
Mantener sesion

Hola, tengo un problema con una web que tengo en un servidor de prueba

mis urls son algo asi:
www.subdominio1.dominio.com
www.subdominio2.dominio.com
www.subdominio3.dominio.com

cuando me logueo como administrador global en www.subdominio1.dominio.com
todo bien, pero cuando voy a www.subdominio2.dominio.com ya he perdido la sesion y no aparezco logueado. las urls apuntan a la misma carpeta del servidor solo que al cambiar de subdominio cambia un poco el diseño de pagina.
Que puedo hacer para mantener la session?

Gracias.
  #2 (permalink)  
Antiguo 19/03/2013, 09:56
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Mantener sesion

y las sesiones se llaman igual en los tres subdominios???
  #3 (permalink)  
Antiguo 19/03/2013, 09:57
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Mantener sesion

en todos los script debes usuar session_start() para trabajar con sesiones además las sesiones deben llamarse exactamente igual si queres usar las mismas..
  #4 (permalink)  
Antiguo 19/03/2013, 10:07
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Mantener sesion

Asi es las sessiones tienen los mismos nombres
  #5 (permalink)  
Antiguo 19/03/2013, 10:09
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Mantener sesion

uso esto:

$usuarios_sesion="autentificador";
$usuario_autentificado = "3306f2e6385848ffa3fcff3c7c4b6f68";

session_name($usuarios_sesion);
session_start();
  #6 (permalink)  
Antiguo 19/03/2013, 10:13
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Mantener sesion

Trato de imaginar que en los 3 subdominios colcas el mismo script para validar la sesion, y que no haces ninguna otra validación mas que preguntar

Código PHP:
Ver original
  1. if(!isset($_SESSION["NOMBRE_SESION"])){
  2.     header("location:login.php");
  3. }else{
  4.     header("location:index.php");
  5. }

Si lo que creo es correcto en teoría debería funcionarte pero no se si unicamente es una validación básica como la que coloco a manera de ejemplo la que haces
  #7 (permalink)  
Antiguo 19/03/2013, 10:32
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Mantener sesion

acabo de hacer una prueba y hay algo raro, me loguee en www.subdominio1.dominio.com y luego del session_start le di esto

Código PHP:
print_r($_SESSION); 
y me imprimia los valores de la session, luego cambie de direccion a www.subdominio2.dominio.com

y ahora imprime solo
Código PHP:
Ver original
  1. Array ( )

y no estoy haciendo ninguna validacion antes de eso :(
  #8 (permalink)  
Antiguo 19/03/2013, 10:45
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Mantener sesion

a ver si termino de entender.. todos los subdominos cargan exactamente los mismos archivos???

En todos los archivos usas session_start()??
  #9 (permalink)  
Antiguo 19/03/2013, 10:52
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Mantener sesion

acabo de hacer una nueva prueba, tratando de ver que algun archivo incluido no este fastiando y he logrado esto:
Esto sale cuando me logueo en un subdominio :
Código PHP:
Array (     [lang] => en     [id_region_web] => 1     [sitelang] => es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3     [usuario_autentificado] => 3306f2e6385848ffa3fcff3c7c4b6f68     [id_usuario] => 1     [id_perfil] => 6     [members_id] => 10     [id_ciudad] =>      [nombres] => Luis     [apellido] => Caceres     [us] => sa     [foto] => thumbnail_1352392044.png     [sede_institucion] =>      [username] => luis-caceres     [pais_id] => 241     [id_region] => 
cuando voy al otro subdominio me sale esto :

Código PHP:
Array ( [lang] => en [id_region_web] => [sitelang] => es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3 
lo raro es que por ejemplo yo cambio el id_region_web con una funcion luego de hacer el print_r porque deacuerdo al subdominio cambio el id_region_web para cambiar la plantilla.

todos los subdominios apuntan a la misma carpeta, de eso estoy seguro!
  #10 (permalink)  
Antiguo 19/03/2013, 11:04
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Mantener sesion

mmm ok entonces la sesion si existe.... porque te muestra esa información que entiendo la tenes almacenada en ella....
  #11 (permalink)  
Antiguo 19/03/2013, 11:08
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Mantener sesion

Cita:
Iniciado por alex1084 Ver Mensaje
mmm ok entonces la sesion si existe.... porque te muestra esa información que entiendo la tenes almacenada en ella....
exacto, pero se como se esta borrando la otra informacion.
  #12 (permalink)  
Antiguo 19/03/2013, 11:14
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Mantener sesion

Recuerda que la variable $_SESSION podes ocuparlo como un arreglo por lo tanto no se como manejas la sesion porque podes hacerlo de la siguiente manera.

Código PHP:
Ver original
  1. $_SESSION["nombre"]["usuario"] = "pepe";
  2. $_SESSION["nombre"]["nombre"] = "Pepe";
  3. $_SESSION["nombre"]["otro"] = "Algo mas";
  4. $_SESSION["nombre"]["otromas"] = "mas aun";
  5.  
  6. print_r($_SESSION["nombre"]);

Deberia mostrarte todo lo que la sesion tiene, a menos que cambies la información de alguna posicion no debería de cambiar nada en la informacion...
  #13 (permalink)  
Antiguo 19/03/2013, 11:37
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Mantener sesion

Cita:
Iniciado por StrikeFreedom Ver Mensaje
Hola, tengo un problema con una web que tengo en un servidor de prueba

mis urls son algo asi:
www.subdominio1.dominio.com
www.subdominio2.dominio.com
www.subdominio3.dominio.com

cuando me logueo como administrador global en www.subdominio1.dominio.com
todo bien, pero cuando voy a www.subdominio2.dominio.com ya he perdido la sesion y no aparezco logueado. las urls apuntan a la misma carpeta del servidor solo que al cambiar de subdominio cambia un poco el diseño de pagina.
Que puedo hacer para mantener la session?

Gracias.
El "problema" que tienes es en realidad el correcto funcionamiento, y por cierto quiero recordarte q www es un subdominio, o sea que si accedes a traves de www.subdominio1.dominio.com en realidad tienes un subdominio del subdominio. No se si soy claro, jejeje.

En orden de mantener la sesión entre subdominios hay varias cuestiones pero puedes probar con este código, pero no funciona en localhost

Código PHP:
Ver original
  1. ini_set('session.cookie_domain', substr($_SERVER['SERVER_NAME'], strpos($_SERVER['SERVER_NAME'],"."), 100));

Otros, en diferentes seteos de apache les puede funcionar algo así:

Código PHP:
Ver original
  1. $some_name = session_name("some_name");
  2. session_set_cookie_params(0, '/', '.some_domain.com');

Pero bueno, va a depender de como tengan configurado el server. De todas maneras, lo que esta haciendo tu server es lo que todo server generalmente hace.

Saludos
  #14 (permalink)  
Antiguo 19/03/2013, 12:02
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 4 meses
Puntos: 2
Respuesta: Mantener sesion

Cita:
Iniciado por cachusan Ver Mensaje
El "problema" que tienes es en realidad el correcto funcionamiento, y por cierto quiero recordarte q www es un subdominio, o sea que si accedes a traves de www.subdominio1.dominio.com en realidad tienes un subdominio del subdominio. No se si soy claro, jejeje.

En orden de mantener la sesión entre subdominios hay varias cuestiones pero puedes probar con este código, pero no funciona en localhost

Código PHP:
Ver original
  1. ini_set('session.cookie_domain', substr($_SERVER['SERVER_NAME'], strpos($_SERVER['SERVER_NAME'],"."), 100));

Otros, en diferentes seteos de apache les puede funcionar algo así:

Código PHP:
Ver original
  1. $some_name = session_name("some_name");
  2. session_set_cookie_params(0, '/', '.some_domain.com');

Pero bueno, va a depender de como tengan configurado el server. De todas maneras, lo que esta haciendo tu server es lo que todo server generalmente hace.

Saludos
FUNCIONO!!!! gracias.
esto fue lo que hice
session_set_cookie_params(0, '/', '.dominio.com');

Etiquetas: Ninguno
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 23:52.