Foros del Web » Programando para Internet » PHP »

Ayuda!!! $_SESSION no se pueden leer

Estas en el tema de Ayuda!!! $_SESSION no se pueden leer en el foro de PHP en Foros del Web. Hola, soy nuevo en este foro y este es el primer msj que enviare. El problema que tengo es que intalé el PHP en un ...
  #1 (permalink)  
Antiguo 24/08/2005, 16:05
Avatar de julianmejio  
Fecha de Ingreso: agosto-2005
Ubicación: Medellín, Antioquia
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 3
Exclamación Ayuda!!! $_SESSION no se pueden leer

Hola, soy nuevo en este foro y este es el primer msj que enviare.

El problema que tengo es que intalé el PHP en un servidor apache y me funciona correctamente todo, hasta la relación con MySQL esta bien, el problema surge cuando quiero registrar una variable de sesión:

ingreso un nombre de usuario y contraseña, la aplicación lee los datos desde la base de datos y me envia a la página principal, donde me avisa si estoy logueado o no; si el usuario o la contraseña son incorrectos, no me envia a la página y me dice que el login es incorrecto; esto quiere decir, que me lee correctamente los datos desde la base de datos, pero al intentar leer los datos desde las variables de sesión, no las puede leer y aparezco como si no hubiera iniciado la sesión.

alguien me puede ayudar con esto? es un prblema de configuración de php o apache, o que puede ser???

Utilizo acutalmente

Apache 2.0.54
PHP 5.0.4 (Módulo)
MySQL 4.1.12 / Client 5.0.4

Gracias!!!
  #2 (permalink)  
Antiguo 24/08/2005, 16:07
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Puede ser un problema de configuracion, pero tambien puede ser tu codigo, podrias mostrarlo para buscar algun error.
  #3 (permalink)  
Antiguo 24/08/2005, 16:10
Avatar de julianmejio  
Fecha de Ingreso: agosto-2005
Ubicación: Medellín, Antioquia
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 3
la aplicación la hice con Dreamweaver, y me funcionaba bien, hasta que decidí pasarme al PHP 5.0.4, aqui está el codigo

Código PHP:
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$accesscheck)) {
  
$GLOBALS['PrevUrl'] = $accesscheck;
  
session_register('PrevUrl');
}

if (isset(
$_POST['usuario'])) {
  
$loginUsername=$_POST['usuario'];
  
$password=$_POST['pass'];
  
$MM_fldUserAuthorization "acceso";
  
$MM_redirectLoginSuccess "../../../index.php";
  
$MM_redirectLoginFailed "iniciar.php?eID=Nombre%20de%20usuario%20y/o%20contrasena%20incorrecta";
  
$MM_redirecttoReferrer true;
  
mysql_select_db($database_jmejio_admin$jmejio_admin);
      
  
$LoginRS__query=sprintf("SELECT usuario, pass, acceso FROM usuarios WHERE usuario='%s' AND pass='%s'",
  
get_magic_quotes_gpc() ? $loginUsername addslashes($loginUsername), get_magic_quotes_gpc() ? $password addslashes($password)); 
   
  
$LoginRS mysql_query($LoginRS__query$jmejio_admin) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
    
    
$loginStrGroup  mysql_result($LoginRS,0,'acceso');
    
    
//declare two session variables and assign them
    
$GLOBALS['MM_Username'] = $loginUsername;
    
$GLOBALS['MM_UserGroup'] = $loginStrGroup;          

    
//register the session variables
    
session_register("MM_Username");
    
session_register("MM_UserGroup");

    if (isset(
$_SESSION['PrevUrl']) && true) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
<?php
if(isset($_REQUEST['eID'])){
    
$msj=$_REQUEST['eID'];
}else{
    
$msj="";
}
?>

Última edición por julianmejio; 24/08/2005 a las 17:43
  #4 (permalink)  
Antiguo 24/08/2005, 16:14
Avatar de jesusbet
(Desactivado)
 
Fecha de Ingreso: mayo-2004
Ubicación: Monterrey, MX
Mensajes: 2.667
Antigüedad: 13 años, 7 meses
Puntos: 2
están activas las variables globales $register_globals???
  #5 (permalink)  
Antiguo 24/08/2005, 16:17
Avatar de julianmejio  
Fecha de Ingreso: agosto-2005
Ubicación: Medellín, Antioquia
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 3
tengo register_globals en On, probe en Off y en On, pero no he tienido buenos resultados
  #6 (permalink)  
Antiguo 24/08/2005, 16:19
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
julianmejio: estas mezclando codigo "en desuso" (deprecated) con codigo nuevo. Por un lado estas usando session_register() (metodo antiguo) y por eso no puedes leer la variable PrevUrl, deberias hacer esto:

$_SESSION['PrevUrl']= $accesscheck;

en lugar de:

session_register('PrevUrl');

Y asi con todas las demas variables que tratas de la misma forma.

register_globals debes dejarlo en Off, para usar los array superglobales y por seguridad.
  #7 (permalink)  
Antiguo 24/08/2005, 16:25
Avatar de julianmejio  
Fecha de Ingreso: agosto-2005
Ubicación: Medellín, Antioquia
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 3
Gracias, me funcionó correctamente, por fin puedo seguir con mi hobbie , ahora, tengo una pregunta...

si utilizo la forma nueva en PHP 4.x, genera errores??, o se puede utilizar sin ingun problema,

gracias
  #8 (permalink)  
Antiguo 24/08/2005, 16:37
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
No genera errores, por que desde ahi se comenzo a usar.
  #9 (permalink)  
Antiguo 24/08/2005, 16:38
Avatar de julianmejio  
Fecha de Ingreso: agosto-2005
Ubicación: Medellín, Antioquia
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 3
ok, gracias por la resp
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 18:07.