Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/09/2011, 14:47
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: Problema con session

Cita:
Iniciado por Physlet Ver Mensaje
¿Comprobaste que estés llamando correctamente a la función session_starts()? Es que me parece que en ningún momento inicias al manejo de sesiones.
Sí, arriba del código esta. Aquí todo completo:

Código PHP:
Ver original
  1. <php
  2.  
  3.  
  4. include('dbconnect.php');
  5.  
  6. class login
  7. {  
  8.     private function check()
  9.     {
  10.         if (!isset($_SESSION['attempt']))
  11.         {
  12.             $_SESSION['attempt'] = 0;
  13.             return true;
  14.         }
  15.         else
  16.         {
  17.             $_SESSION['attempt']++;
  18.    
  19.             if ($_SESSION['attempt'] == '3')
  20.             {
  21.                 if (!isset($_SESSION['attempt_date']))
  22.                 {
  23.                     $_SESSION['attempt_date'] = strtotime(date('H:i:s'));
  24.                 }
  25.                 else
  26.                 {  
  27.                     if ($_SESSION['attempt_date'] >= strtotime(date('H:i:s'))-900)
  28.                     {
  29.                         unset($_SESSION['attempt']);
  30.                         return true;
  31.                     }
  32.                     else
  33.                     {
  34.                         return false;
  35.                     }
  36.                 }
  37.             }
  38.             else
  39.             {
  40.                 return true;
  41.             }
  42.         }
  43.     }
  44.        
  45.     public function login_user()
  46.     {
  47.         $username = $_POST['username'];
  48.         $password = $_POST['password'];
  49.  
  50.         $login_query = sprintf('SELECT * FROM users WHERE username = "%s" AND password = MD5("%s")', mysql_real_escape_string($username), mysql_real_escape_string($password));
  51.  
  52.         if(@mysql_num_rows(@mysql_query($login_query)) <= 0)
  53.         {
  54.             session_destroy();
  55.             $this->check();
  56.         }
  57.         else
  58.         {
  59.             if (@mysql_result(@mysql_query('SELECT permise FROM users WHERE username = "'.$username.'"'), 0,0) == '1')
  60.             {
  61.                  $_SESSION['login_admin'] = true;
  62.             }
  63.             else
  64.             {
  65.                 $_SESSION['login_admin'] = false;
  66.             }
  67.            
  68.             $update_login = sprintf('UPDATE users SET date_last_login = "%s", ip_last_login = "%s" WHERE username = "%s"', date('Y-m-d H:i:s', time()), $_SERVER['REMOTE_ADDR'], mysql_real_escape_string($username));
  69.             @mysql_query($update_login);
  70.            
  71.             $_SESSION['login_status'] = true;
  72.             $_SESSION['login_username'] = $username;
  73.         }
  74.     }
  75.  
  76.     public function logout()
  77.     {
  78.         session_destroy();
  79.     }
  80. }
  81.  
  82. ?>