Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/01/2014, 11:09
Andrew777
 
Fecha de Ingreso: junio-2009
Ubicación: Bolivia
Mensajes: 96
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Problemas con sesion en php?

Utilizo autentificacion.php, cuyo codigo es el siguiente:
Código PHP:
Ver original
  1. <?php
  2.     include("conn.php");
  3.     //funciones requeridas   
  4.     session_start();     
  5. /*
  6. Nombre: DevolverIP
  7. Objetivo: Devolver el IP de la maquina a nivel local
  8. Fecha:13/11/2013
  9. */
  10. $errorMessage = '';
  11. function DevolverIP()
  12.     {
  13.         if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
  14.         {
  15.             $client_ip =
  16.                 ( !empty($_SERVER['REMOTE_ADDR']) ) ?
  17.                 $_SERVER['REMOTE_ADDR']
  18.                 :
  19.                 ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
  20.                    $_ENV['REMOTE_ADDR']
  21.                    :
  22.                    "unknown" );
  23.  
  24.             $entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']);
  25.  
  26.             reset($entries);
  27.             while (list(, $entry) = each($entries))
  28.             {
  29.                 $entry = trim($entry);
  30.                 if ( preg_match("/^([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/", $entry, $ip_list) )
  31.                 {
  32.                     // http://www.faqs.org/rfcs/rfc1918.html
  33.                     $private_ip = array(
  34.                         '/^0\\./',
  35.                         '/^127\\.0\\.0\\.1/',
  36.                         '/^192\\.168\\..*/',
  37.                         '/^172\\.((1[6-9])|(2[0-9])|(3[0-1]))\\..*/',
  38.                         '/^10\\..*/');
  39.  
  40.                     $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
  41.  
  42.                     if ($client_ip != $found_ip)
  43.                     {
  44.                         $client_ip = $found_ip;
  45.                         break;
  46.                     }
  47.                 }
  48.             }
  49.         }
  50.         else
  51.         {
  52.             $client_ip =
  53.                 ( !empty($_SERVER['REMOTE_ADDR']) ) ?
  54.                 $_SERVER['REMOTE_ADDR']
  55.                 :
  56.                 ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
  57.                    $_ENV['REMOTE_ADDR']
  58.                    :
  59.                    "unknown" );
  60.         }
  61.         return $client_ip;
  62.     }
  63. /*
  64. Fecha: 13/11/2013
  65. Nombre: GuardarIngresosSistema
  66. Parametros:
  67. $usuario: Nombre de usuario
  68. $ip: Ip de la pc
  69. $pc: Nombre de la pc
  70. $ban: si ingreso o no, 1 si ingreso y 0 sino ingreso
  71. Objetivo: guardar datos de ingreso al sistema a traves de otra pc
  72. */
  73. function GuardarIngresoSistema($usuario,$ip,$pc,$ban)
  74. {
  75.     $dFechaRegistro = date("Y-m-d");
  76.     $dHoraRegistro = date("H:i:s");
  77.     $consulta  =  "INSERT INTO ta_ingreso";
  78.     $consulta .=  "(id_ingreso,nombre_usuario,ip_pc,nombre_pc,fecha_ingreso,hora_ingreso,ban_ingreso) ";
  79.     $consulta .= "VALUES('',";
  80.     $consulta .= "'" . $usuario . "','" . $ip . "','".$pc."',";
  81.     $consulta .= "'" . $dFechaRegistro . "','" . $dHoraRegistro . "','" . $ban . "')";       
  82.     //echo $consulta."</br>";          
  83.     $sql = mysql_query($consulta);             
  84.    
  85.     if ($sql <= 0)
  86.     {        
  87.          echo MensajeErrorBD();
  88.          echo "</br>";
  89.          echo "Error al tratar de registrar datos de ingreso al sistema"."</br>";          
  90.     }  
  91.      
  92. }
  93.  
  94.      
  95.      
  96.      
  97.      
  98.      
  99.        
  100.       //include("funciones.php");  
  101.       //require_once('librerias/control_sesion.php');    
  102.     //echo'<script type="text/javascript" src="scripts/hijax.js">';
  103.     //session_start();
  104.    
  105.     /* establecer el limitador de caché a 'private' */
  106.     //session_cache_limiter('private');
  107.     //$cache_limiter = session_cache_limiter();
  108.    /* establecer la caducidad de la caché a 30 minutos */
  109.    ///session_cache_expire(30);
  110.    //$cache_expire = session_cache_expire();
  111.    //session_start();        
  112.  
  113.    //Obteniendo el numero de IP de la maquina
  114.     $ip = DevolverIP();
  115.     //Obteniendo el nombre de la maquina
  116.     $pc = gethostbyaddr("$ip");
  117.    
  118.          
  119.     if (isset($_POST['txUsuario']) && isset($_POST['txPassword']))
  120.     {
  121.        
  122.        
  123.         $username = $_POST["txUsuario"];
  124.         $password = $_POST["txPassword"];
  125. //      $password = md5($password);
  126.         mysql_select_db ($database_Conn,$conn);
  127.         $sql = "SELECT * FROM ta_usuarios WHERE c_usuario='$username' AND c_password='$password' AND d_fecha_salida IS NULL";
  128.         $rst = mysql_query($sql,$conn) or die(mysql_error());
  129.         $row = mysql_fetch_array($rst);
  130.         $user1 = $row['c_usuario'];
  131.         $pswd1 = $row['c_password'];
  132.         // revisar si pswd y usuario son correctos...
  133.         if ($_POST['txUsuario'] === $user1 && $_POST['txPassword'] === $pswd1 )//&& $_POST['fecha_fin'] === NULL)
  134.         {
  135.             // establecer la sesion
  136.            
  137.             $_SESSION['andromeda'] = true;         
  138.             //Ingresando datos                 
  139.             //tipo de usuario en var session nivel
  140.             //1-> administrador
  141.             //2-> usuario
  142.             $_SESSION['nivel'] = $row['n_tipo'];
  143.             //nombre completo de usuario
  144.             $_SESSION['usuario'] = $row['c_nombres'];
  145.             $_SESSION['id_usuario'] = $row['n_id'];        
  146.             $_SESSION['administrador'] = $row['n_super_usuario'];          
  147.             $_SESSION['gerencia'] = $row['n_cod_ger']; 
  148.                    
  149.             $_SESSION['rol'] = $row['n_doble_rol'];
  150.             $_SESSION['derivar'] = $row['n_derivar'];
  151.             $_SESSION['ver'] = $row['n_solo_ver'];
  152.             $_SESSION['finalizar'] = $row['n_finalizar'];
  153.             $_SESSION['adicionar_externa'] = $row['n_adicionar_corres_ext'];                       
  154.             $_SESSION['reactivar'] = $row['n_reactivar_correspondencia'];
  155.             $_SESSION['editar_finalizacion'] = $row['n_editar_finalizacion'];
  156.            
  157.             $_SESSION['codigo_sucursal'] = $row['n_cod_suc'];
  158.            
  159.            
  160.            
  161.             //para el nombre de usuario en el sistema tenemos
  162.             //$_SESSION['nick'] = $row['c_usuario'];           
  163.             header('Location: pendientes.php');        
  164.             GuardarIngresoSistema($_POST['txUsuario'],$ip,$pc,'1');        
  165.             exit;
  166.         }
  167.         else         
  168.         {
  169.            
  170.             $errorMessage = 'Error, usuario inhabilitado,usuario y/o contraseña incorrectos ';
  171.             GuardarIngresoSistema($_POST['txUsuario'],$ip,$pc,'0');        
  172.             //echo"$password";
  173.             //. $password;            
  174.             //$errorMessage = 'Error, usuario y/o contraseña incorrectos '.$pswd1;                                                                           
  175.         }
  176.     }
  177. ?>
  178. <html>
  179. <head>
  180. <title>Autentificaci&oacute;n de usuario</title>
  181. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  182. </head>
  183. <body>
  184. <?php
  185. if ($errorMessage != '')
  186. {
  187. ?>
  188. <p align="center"><strong><font color="#FF0000"><?php echo $errorMessage; ?> haga clic <a href="index.html">aqui</a> para intentar nuevamente </font></strong></p>
  189. <?php
  190. }
  191. /*echo'</script>';*/
  192. ?>
  193. </body>
  194. </html>