Mensajes [1] - Enviado el Sabado 01 de Diciembre de 2007 a las 01:46hs
Hola, tengo un problema con las sesiones y la verdad no encuentro qu? puede estar pasando... El Usuario ingresa correctamente (valida sus claves ) , empieza el recorrido por la p?gina correctamente, y de pronto de manera intempestiva se pierde la informaci?n de la sesi?n y lo saca de la navegaci?n que efectuaba!
El php.ini en el servidor actualmente est? configurado as?:
session.auto_start = 0 (en cada script llamo la funcion "session_start")
session.use_trans_sid = 0 (estoy enviando manualmente en cada link el .SID)
register_globals = On
short_open_tag = On
session.save_path = /tmp
1) el ingreso al sitio WEB se hace as? en la p?gina ?login.php? desp?es de recibir por ?post? la informaci?n requerida:
include_once (dirname(__FILE__). "/../nwlib/dbusuario.inc.php");
if (isset($HTTP_POST_VARS)) {
$usuario = new DBusuario();
$usuario->id = 0;
$usuario->login= $HTTP_POST_VARS['login'];
$usuario->password = $HTTP_POST_VARS['password'];
$usuario->connect();
$usuario->verificarUsuario();
// si el usuario existe, valida el ingreso!
if ($usuario->id!=0) {
session_start();
$_SESSION['_userid']=$usuario->id;
$redirect="pagina_principal.php?".SID;
header("Location: ./$redirect");
} else {
?>
}
}
?>
2) En la ?pagina_principal.php? cargamos la informaci?n b?sica del usuario as?:
session_start();
//validamos que sea el Usuario que ingres?.
if (!(isset($_SESSION['_userid']))) {
?>
die();
}
//Traemos la informaci?n de su registro a partir de:
include_once (dirname(__FILE__). "/../nwlib/dbusuario.inc.php");
$usuario= new DBusuario();
$usuario->connect();
$usuario->id=$_SESSION['_userid'];
$usuario->find ();
?>
Hasta ?ste punto no hay problema, ac? es donde empieza:
La ?p?gina_principal.php? ( y todas las visibles al usuario tienen en su parte superior un men? desplegable creado con Fireworks insertado en el PHP a manera de etiquetas CSS)
Los links para navegar en ?stas etiquetas los tengo configurados as?:
mm_menu_0828201440_0.addMenuItem("Ciudades HOMs Presenciales","location='cities.php?=SID?>'");
El link aparentemente funciona bien ya que ?ste trae correctamente la p?gina ?cities.php? (el c?digo es ?ste:)
include_once (dirname(__FILE__). "/../nwlib/dbciudad.inc.php");
include_once (dirname(__FILE__). "/../nwlib/dbpais.inc.php");
include_once (dirname(__FILE__). "/../nwlib/dbusuariodata.inc.php");
$usuariodata= new DBusuariodata();
$usuariodata->connect();
$usuariodata->usuarioid=$_SESSION['_userid'];
$usuariodata->find();
// Carga correctamente la informaci?n de las ciudades que el usuario tiene almacenada
?>
//Una vez en cities.php puedo imprimir la informaci?n de la sesi?n mediante (echo .sessionid(); o echo $_SESSION['_userid'];)
Desde ?sta ?cities.php? el usuario tiene b?sicamente tres opciones:
a) Agregar ciudades, para o cual llamo la p?gina ?citiesresult.php? mediante un bot?n que env?a el siguiente formulario as?:
Mensajes [3] - Enviado el Lunes 10 de Diciembre de 2007 a las 17:37hs
Fijate en la configuracion del PHP (php.ini), las variables de Session tienen un tiempo de vida, Fijate de que este en 0 (significa que hasta que el explorardor no se reinicie sigue activa)
Saludos
Para poder responder a este tema tenes que ingresar. Si no tenes una cuenta podes registrarse gratis..