Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Bueno saludos a todos: Tengo una web y el problema es que quiero poner el form para loguearse en cada web, y que cuando ya ...
  #1 (permalink)  
Antiguo 04/11/2007, 18:11
 
Fecha de Ingreso: diciembre-2006
Mensajes: 83
Antigüedad: 17 años, 4 meses
Puntos: 0
Problema con sesiones

Bueno saludos a todos:

Tengo una web y el problema es que quiero poner el form para loguearse en cada web, y que cuando ya te hayas logueado, aparezca un modulo con los datos del usuario en lugar del form de logueo. Lo plantee asi:

empiezo desde index, donde hay un login para entrar en la cuenta. Despues hay otra web donde tambien hay otra web, llamemosla WEB2 donde si no estas logueado, aparece el form para entrar en la cuenta y cuando ya estas logueado, aparece un module donde te dice tu nick y tus datos.

para ello tuve en cuenta lo siguiente, una vez que inicias la sesion, con session_start() se crean las variables una de ellas llamada $_SESSION['usuario_login'] en una web que verifica todo lo que se mete en el form de para iniciar la cuenta. En la WEB2 puse un session_start(), para reiniciar la sesion y a continuacion un IF donde si $_SESSION['usuario_login'] es nulo (no esta logueado) aparece el module que contiene el form para entrar a la cuenta y esta logueado (ELSE) aparece el module con los datos del logueado.

El problema es que siempre aparece el form para loguearse, por lo que por alguna razon o el if no me hace caso xD o bien el session_start() no reinicia o no recibe el contenido de $_SESSION['usuario_login'].

A continuacion os dejo el archivo de donde viene $_SESSION['usuario_login'], es un archivo php donde verifico los datos introducidos en el form de logueo:

Código PHP:
 // le damos un mobre a la sesion.
session_name($usuarios_sesion);
// incia sessiones
session_start();

// Paranoia: decimos al navegador que no "cachee" esta página.
session_cache_limiter('nocache,private');



//definir la id del usuario
$_SESSION['usuario_id']=$usuario_datos['ID'];

//definir el nivel del usuario, miembro, concejal, o invitado
$_SESSION['usuario_nivel']=$usuario_datos['weblvl'];

//definir nick de la sesion
$_SESSION['usuario_login']=$usuario_datos['nick'];

//definir pass encriptada
$_SESSION['usuario_password']=$usuario_datos['pass'];

//defino un nivel para el visitante sin registrar, el nivel 10
//$_SESSION['visitante']=10


// Hacemos una llamada a si mismo (scritp) para que queden disponibles
// las variables de session en el array asociado $HTTP_...
$pag=$_SERVER['PHP_SELF'];
Header ("Location: $pag?");
exit;

} else {
// si no esta el nombre de usuario en la BD o el password ..
// se devuelve a pagina q lo llamo con error
Header ("Location: $redir?error_login=2");
exit;}
} else {

// -------- Chequear sesión existe -------

// usamos la sesion de nombre definido.
session_name($usuarios_sesion);
// Iniciamos el uso de sesiones
session_start();

// Chequeamos si estan creadas las variables de sesión de identificación del usuario,
// El caso mas comun es el de una vez "matado" la sesion se intenta volver hacia atras
// con el navegador.

if (!isset($_SESSION['usuario_login']) && !isset($_SESSION['usuario_password'])){
// Borramos la sesion creada por el inicio de session anterior
session_destroy();
die (
"2 - Acceso incorrecto!");
exit;
}

Espero que puedan ayudarme, es para un trabajo importante y solo me queda eso para finalizarlo,.

De antemano muchisimas gracias y saludos a toda la comunidad.
  #2 (permalink)  
Antiguo 05/11/2007, 01:25
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Problema con sesiones

Mmm... prueba sacando todos los session_start(); y colocandolo solo una vez en la primera linea del archivo.
Código PHP:
<?
session_start
();
//aca continua tu codigo
?>
Suerte y nos comentas!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 05/11/2007, 08:44
 
Fecha de Ingreso: diciembre-2006
Mensajes: 83
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Problema con sesiones

gracias, lo probare y haber si funciona!
  #4 (permalink)  
Antiguo 05/11/2007, 10:30
 
Fecha de Ingreso: diciembre-2006
Mensajes: 83
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Problema con sesiones

funciono! al menos al principio xD antes de iniciar sesion entre en la WEB2 y en efecto salio en form para loguearse, luego me logueo y entro a WEB2 y aparece el mod para los que ya se han logueado. El unico problema es que aunque salga de la sesion, vuelvo a entrar a la WEB2 y vuelve a aparecer como si siguiese logueado, asi que kizas ahora no cierra bien la sesion...

¿que opinais?

Muchas gracias por seguir mi problema ;)
  #5 (permalink)  
Antiguo 05/11/2007, 12:37
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Problema con sesiones

Como estas cerrando la sesion ?... podrias poner el codigo para cerrarla aca.

Suerte
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
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 15:50.