El sistema es un formulario de acceso con los campos de user y password y ese formulario se envia a control_usuario.php donde se comprueban esos datos con la base de datos:
Código PHP:
###control_usuario.php###
<?php
include("../config.php"); //conecta con la base de datos
$query = mysql_query("SELECT * FROM usuarios WHERE user = '".$_POST["usuario"]."' AND nivel < 3");
if($row = mysql_fetch_array($query)){
if ($_POST["usuario"] == $row['user'] && (md5($_POST["contrasena"]) == $row['pw'])){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"] = "SI";
$_SESSION["nombre_user"] = $row['nombre'];
$_SESSION["nivel"] = $row['nivel'];
$_SESSION["pw"] = $row['pw'];
$_SESSION["id_usuario"] = $row['id_usuario'];
header ("Location: ".$url."nvc/index2.php"); //redirige a la aplicacion restringida porque el usuario ya está autentificado
exit();
}else{
//la contraseña no coincide y redirige de nuevo al formulario
header("Location: ".$url."nvc/index.php?nopass");
exit();
}
}else{
//no existe el usuario y redirige de nuevo al formulario
header("Location: ".$url."nvc/index.php?nopass");
exit();
}
?>
Código PHP:
###seguridad.php###
<?php
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if (!isset($_SESSION["autentificado"]) || $_SESSION["autentificado"] != "SI" || $_SESSION["nivel"]>2) {
//si no existe, envio a la página de autentificacion
header("Location: index.php");
//ademas salgo de este script
exit();
}
?>
Salud!!