mira este codigo:
Código PHP:
Ver original<?php
//conexion
require_once('../xxxxxxxxxx/xxxxxxxxx.php');
if($_POST['usuario']==""){
$msg = "";
} else if($_POST['password']==""){
$msg = "";
}else{
//asignamos la variable usuario
//buscamos los datos en la base basados en el usuario que se conecta
$users = $db->query("SELECT usuario,pass,estados FROM usuarios WHERE usuario ='$usuario'");
$row_result = $users->fetch_array();
//encriptamos la clave que recibimos y la asignamos a una variable para su posterior comparación
$password = (crypt($_POST['password'], $row_result['pass']));
//asignamos las variables basadas en lo recogido de la consulta
$usuario = $row_result['usuario'];
$clave = $row_result['pass'];
$nivel = $row_result['nivel'];
comparamos la clave con la almacenada y si el usuario esta activo
if($clave == $password && $estados == "Activo"){
//si todo esta bien creo las variables de sesion que usare en toda mi aplicacion
$_SESSION['MM_Username'] = $usuario;
$_SESSION['logueado'] = true;
$_SESSION['nivel'] = $nivel;
//envio un email de confirmacion de conexion al usuario
//se compone el mensaje
require("recursos/class.phpmailer.php");
$mail = new PHPMailer();
$mail->FromName = "INFORME xxxxxxxxx";
$mail->Subject = "Nueva conexion de ".$nombre." a PSSLpro";
$mail->AddAddress($usuario, $nombre);
$mail->IsHTML(true);
$mail->AddEmbeddedImage('img/logo_xxxxx_xxxxx_peq.png', 'logo');
$body = "<img src='cid:logo' alt='mail image' width='180px' height='40px' border='0'/><br><hr>";
$body .= "Nueva Conexión al sistema xxxxxxx con exito <b>".$nombre."</b>\n\n";
$body .= "<hr>";
$body .= "Fecha de la conexión: ".date("d-m-Y")."\n\n"; $body .= " hora de la conexion ".date("H:m:s")."\n\n"; $body .= "Desde la ip: ".$_SERVER['REMOTE_ADDR']."\n\n";
$body .= "<hr>";
$mail->Body = $body;
$mail->Send();
//inserto en la tabla de contro que el usuario esta activo en el sistema
$activos = $db->query("INSERT INTO usuarios_activos (usuario, fecha, hora, ip, rif, unidad_explot) VALUES ('$usuario' , '$fecha' , '$hora' , '$_POST[ip]' , '$rif' , '$unidad')");
//lo redirecciono al escritorio
header('location: escritorio.php');
//si esta suspendido lo envio a otra locacion
} else if($estados == "Suspendido"){
header('location: suspendido.php');
//en caso contrario le indico que los datos son invalidos
}else{
$msg = "Datos inválidos";
}
}
?>
y en cada pagina solo tengo esto:
Código PHP:
Ver original<?php
if (isset($_SESSION['MM_Username']) && $_SESSION['logueado'] == true && $_SESSION['estados']== "Activo") {
}
else
{
header('Location:/app/error_acceso.php');
//en caso de que se salte el header por alguna extraña razon, muestro los mensajes
echo "<br/>" . "Esta pagina es solo para usuarios registrados." . "<br/>";
echo "<br/>" . "<a href='index.php'>Ingresa aqui!!!</a>";
}
?>
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