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. saludos, mi problema son estos dos archivos, en uno valido al usuario y en el otro valido si el usuario esta registrado, mi problema es ...
  #1 (permalink)  
Antiguo 18/05/2009, 11:06
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca,Morelos,Mexico
Mensajes: 80
Antigüedad: 11 años, 4 meses
Puntos: 0
Exclamación problema con sesiones

saludos, mi problema son estos dos archivos, en uno valido al usuario y en el otro valido si el usuario esta registrado, mi problema es que en mi maquina corren sin problema, pero cuando lo paso al servidor no hace nada que puede ser alguna sugerencia:
primer archivo donde valido al usuario
Código:
<?
include("MYSQL.inc");
$mysql=new MYSQL;
$mysql->connect();
$l=$_POST["login"];
$p=$_POST["passwd"];
$query=mysql_query("select login,passwd from seguridad where login='$l' and passwd='$p'");
if($row1 = mysql_fetch_array($query)){
session_start();
session_register("autentificado");
$autentificado="SI";
//defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss
$_SESSION['login']=$arrayusuario=($row1["login"]);
$_SESSION['passwd']=$arrayusuario1=($row1["passwd"]);
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
header("location:siguiente.php");
}else{
header("location:inicio.php?errorusuario=SI");
}
?>
segundo archivo: donde valido se ha registrado para entrar a otras paginas
Código:
<? session_start();
if ($_SESSION["autentificado"]!="SI")
{
header("Location:inicio.php"); 
exit();}else { 
    $fechaGuardada=$_SESSION["ultimoAcceso"]; 
    $ahora=date("Y-n-j H:i:s"); 
    $tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada)); 
     if($tiempo_transcurrido >=600) { 
      session_destroy(); // destruyo la sesión 
      echo "<script type=\"text/javascript\">	
	alert('A expirado el tiempo de inactividad en el sitio');
			 document.location='inicio.php';
			  </script>"; 
    }else { 
    $_SESSION["ultimoAcceso"] = $ahora; 
   } 
} 
?>
  #2 (permalink)  
Antiguo 18/05/2009, 11:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 7 meses
Puntos: 2135
Respuesta: problema con sesiones

Revisa que tu servidor tenga short_opentags activado, en caso contrario vas a tener que usar <?php para abrir tus scripts. Por otro lado revisa que configuracion es diferente entre tu server y el local, ahí puedes ver el porque no funciona.

Saludos.
  #3 (permalink)  
Antiguo 18/05/2009, 11:32
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 12 años, 3 meses
Puntos: 48
Respuesta: problema con sesiones

Intenta debuggear un poco, paso a paso. Por ejemplo verifica:

- Datos de conexión a la bbdd.
- Que se establece la conexión correctamente.
- Que recibas por POST las variables y valores que esperas.
- Verifica en que IF o ELSE estás entrando.

En resumen, todo lo que se te ocurra para saber como se comporta tu aplicación.

Saludos!
  #4 (permalink)  
Antiguo 18/05/2009, 11:52
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca,Morelos,Mexico
Mensajes: 80
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: problema con sesiones

saludos synkronice ya revise los siguientes pasos
Datos de conexión a la bbdd-->funciona
Que se establece la conexión correctamente-->funciona
Que recibas por POST las variables y valores que esperas-->funciona
- Verifica en que IF o ELSE estás entrando-->funciona

el problema creo que va cuando se involucra el segundo archivo que es seguridad.
  #5 (permalink)  
Antiguo 18/05/2009, 16:50
 
Fecha de Ingreso: septiembre-2008
Ubicación: Cuernavaca,Morelos,Mexico
Mensajes: 80
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: problema con sesiones

despues de haber investigado un poco llegue a la solucion se tratataba de la variable session_register que se manejaba en php4,la solucion fue poner esa variable como una variable de sesion, como se muestra a continuacion:
Código:
<?
include("MYSQL.inc");
$mysql=new MYSQL;
$mysql->connect();
$l=$_POST["login"];
$p=$_POST["passwd"];
$query=mysql_query("select login,passwd from seguridad where login='$l' and passwd='$p'");
if($row1 = mysql_fetch_array($query)){
session_start();
//session_register("autentificado");
$_SESSION["autentificado"]="SI";
//defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss
$_SESSION['login']=$arrayusuario=($row1["login"]);
$_SESSION['passwd']=$arrayusuario1=($row1["passwd"]);
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
header("location:siguiente.php");
}else{
header("location:inicio.php?errorusuario=SI");
}
?>
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:51.