Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/09/2011, 14:05
deywibkiss
 
Fecha de Ingreso: mayo-2011
Mensajes: 105
Antigüedad: 13 años
Puntos: 3
Respuesta: las variables de sesion no se conservan

Efectivamente la variable alias ya se ha inicializado con esta funcion de validacion:

Código PHP:
Ver original
  1. public function validasesion($idusuario, $contrasena, $conn){
  2. $sqlconsulta = "select idusuario, login, password, idestado from usuario where idusuario = '".$idusuario."' or login = '".$idusuario."' and
  3. password = '".$contrasena."'";
  4. $ejec = mysql_query($sqlconsulta,$conn);
  5. $registros = mysql_num_rows($ejec);
  6. $fila = mysql_fetch_row($ejec);
  7. $alias = "";
  8. if ($registros <= 0){
  9.     echo "<script>alert('El usuario introducido no existe o no es valido.');</script>";
  10.     $alias = "ninguno";
  11.     return $alias;
  12. }
  13. else{
  14. if ($fila['0'] != $idusuario){
  15. echo $fila['0']." ".$fila['1']." ".$idusuario." ".$registros."<script>alert('El login introducido no es valido.');</script>";
  16. $alias = "ninguno";
  17. return $alias;
  18. }
  19. else{
  20. if($fila['2'] != $contrasena){
  21. echo "<script>alert('La clave introducida no es valida.');</script>";
  22. $alias = "ninguno";
  23. return $alias;
  24. }
  25. else{
  26. if ($fila['3'] != 1){
  27. echo "<script>alert('El usuario que esta intentando ingresar no esta habilitado.');</script>";
  28. $alias = "ninguno";
  29. return $alias;
  30. }
  31. }
  32. }
  33. }
  34.  
  35. if ($registros == 1){
  36. $alias = $fila['0'];
  37. return $alias; 
  38. }
  39. }


el anterior metodo valida el usuario y la contraseña introducidos, luego si es verdadero retorna el alias....

Ese alias retornado entra como parametro en la funcion Iniciar Sesion:

Código PHP:
Ver original
  1. $alias = $_POST['login'];
  2. $contrasena = $_POST['password'];
  3.  
  4.  
  5. include ('claseconexion.php');
  6. include ('claseusuario.php');
  7. $us = new usuario();
  8. $conectar = new conectarse();
  9. $conn = $conectar->get_conexion();
  10. $cerrar = $conectar->close_conexion();
  11.  
  12. $nick = $us->validasesion($alias,$contrasena,$conn);
  13. $us->iniciarsesion($nick,$conn);
  14.  
  15. $cerrar;

Vuelvo y repito, el problema es que la sesion no hace puente entre dos paginas.... en el index.php si se inicia la sesion, pero en los demas archivos se pierde...