Ver Mensaje Individual
  #23 (permalink)  
Antiguo 07/11/2015, 23:12
pilucho
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: No se mantenie info de $_SESSION por que?

Cita:
Iniciado por xfxstudios Ver Mensaje
mira este codigo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. //conexion
  4. require_once('../xxxxxxxxxx/xxxxxxxxx.php');
  5.  
  6. if($_POST['usuario']==""){
  7.     $msg = "";
  8. } else if($_POST['password']==""){
  9.     $msg = "";
  10. }else{
  11.    
  12. //asignamos la variable usuario
  13. $usuario = mysqli_real_escape_string($db, $_POST['usuario']);
  14.  
  15. //buscamos los datos en la base basados en el usuario que se conecta
  16. $users = $db->query("SELECT usuario,pass,estados FROM usuarios WHERE usuario ='$usuario'");
  17.  
  18.  
  19. $row_result = $users->fetch_array();
  20.  
  21. //encriptamos la clave que recibimos y la asignamos a una variable para su posterior comparación
  22. $password = (crypt($_POST['password'], $row_result['pass']));
  23.  
  24. //asignamos las variables basadas en lo recogido de la consulta
  25. $usuario = $row_result['usuario'];
  26. $clave = $row_result['pass'];
  27. $nivel = $row_result['nivel'];
  28.  
  29. comparamos la clave con la almacenada y si el usuario esta activo
  30.  if($clave == $password && $estados == "Activo"){
  31.      
  32. //si todo esta bien creo las variables de sesion que usare en toda mi aplicacion
  33.      $_SESSION['MM_Username'] = $usuario;
  34.      $_SESSION['logueado'] = true;
  35.      $_SESSION['nivel'] = $nivel;
  36.  
  37. //envio un email de confirmacion de conexion al usuario
  38.      //se compone el mensaje
  39.     require("recursos/class.phpmailer.php");
  40.     $mail = new PHPMailer();
  41.     $mail->From = "[email protected]";
  42.     $mail->FromName = "INFORME xxxxxxxxx";
  43.     $mail->Subject = "Nueva conexion de ".$nombre." a PSSLpro";
  44.     $mail->AddAddress($usuario, $nombre);
  45.     $mail->IsHTML(true);
  46.     $mail->AddEmbeddedImage('img/logo_xxxxx_xxxxx_peq.png', 'logo');
  47.    
  48.     $body = "<img src='cid:logo' alt='mail image' width='180px' height='40px' border='0'/><br><hr>";
  49.     $body .= "Nueva Conexión al sistema xxxxxxx con exito <b>".$nombre."</b>\n\n";
  50.     $body .= "<hr>";
  51.     $body .= "Fecha de la conexión: ".date("d-m-Y")."\n\n";
  52.     $body .= " hora de la conexion ".date("H:m:s")."\n\n";
  53.     $body .= "Desde la ip: ".$_SERVER['REMOTE_ADDR']."\n\n";
  54.     $body .= "<hr>";
  55.     $mail->Body = $body;
  56.     $mail->Send();
  57.    
  58. //inserto en la tabla de contro que el usuario esta activo en el sistema
  59.     $fecha = date("Y-m-d");
  60.     $hora = date("H:m:s");
  61.     $activos = $db->query("INSERT INTO usuarios_activos (usuario, fecha, hora, ip, rif, unidad_explot) VALUES ('$usuario' , '$fecha' , '$hora' , '$_POST[ip]' , '$rif' , '$unidad')");
  62.  
  63. //lo redirecciono al escritorio
  64.      header('location: escritorio.php');
  65.  
  66. //si esta suspendido lo envio a otra locacion
  67.  } else if($estados == "Suspendido"){
  68.     header('location: suspendido.php');
  69.  
  70. //en caso contrario le indico que los datos son invalidos
  71.         }else{
  72.      $msg = "Datos inválidos";
  73.  }
  74. }
  75. ?>

y en cada pagina solo tengo esto:

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.      
  4.     if (isset($_SESSION['MM_Username']) && $_SESSION['logueado'] == true && $_SESSION['estados']== "Activo")
  5.     {
  6.     }
  7.     else
  8.     {
  9.         header('Location:/app/error_acceso.php');
  10.    
  11. //en caso de que se salte el header por alguna extraña razon, muestro los mensajes
  12.    
  13. echo "<br/>" . "Esta pagina es solo para usuarios registrados." . "<br/>";
  14.    
  15. echo "<br/>" . "<a href='index.php'>Ingresa aqui!!!</a>";
  16.      
  17.     exit;
  18.     }
  19.     ?>

este codigo es mucho mas extenso y con muchas mas variables de sesion pero solo te coloque lo basico que funciona bastante bien, ya solo queda jugar con el resto amigo

hola xfxstudios me hiciste copiar todo el codigo pensando encontrarias el problema .... y me das un codigo que posiblente funcione,... pero haciendo las pruebas... con que fin hace un insert si ya tengo un campo para los registros, --- y lo otro por que enviar la conexion al email?? la verdad no comprendo el codigo pero lo voy a probar solo cambiare a mi sql a ver si tengo suerte