podrias agregarle otro campo a la base de datos, en el cual pudieras ver si el usurio esta activo o no en la base de datos aca te dejo un ejemplo.
aca el formulario
Código HTML:
Ver original
<cite><q><?php if(isset($error)){ echo ' <p>' . $error . '
</p>' . "\n";}?>
</q></cite>
<form method="post" action="webmaster-login.html" id="frmcontact">
<input type="hidden" name="_submit_check" value="1"/>
<label for="txtname">Username:
</label> <input type="text" name="username" class="textboxcontact" id="username" />
<label for="txtemail">Password:
</label> <input name="password" type="password" class="textboxcontact" id="password" size="40" />
<label></label><input type="submit" name="submitcontact" value="Entrar" class="submitcontact" />
aqui el archivo para procesar el formulario
Código PHP:
$db = new PDO('mysql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);
function processLogin($db)
{
$consulta = $db->prepare('SELECT * FROM admin WHERE username="'.$_POST["username"].'" AND password="'.md5($_POST['password']).'" AND active="1"');
$consulta->execute();
foreach($consulta as $item)
{
if($consulta->rowCount()==1){
if($item['active']==1)
{
session_start();
$_SESSION['user_id'] = $item['id'];
$_SESSION['level_id'] = $item['level'];
$_SESSION['logged_in'] = TRUE;
header ("Location: webmaster-cpanel.html");
}
}else{
//aca estarian los errores
}
}
}
aca la funcion que tienes k poner para revisar que el usuario esta logeado o no
Código PHP:
function checkLogin($db,$levels)
{
if(!$_SESSION['logged_in'])
{
$access = FALSE;
}
else {
$consulta = $db->prepare('SELECT level FROM admin WHERE id="'.$_SESSION['user_id'].'"');
$consulta->execute();
$access = FALSE;
foreach($consulta as $item)
{
if($item['level']==1)
{
$access = TRUE;
}
}
}
if($access==FALSE)
{
header("Location: webmaster-entrar.html");
}
}
y aqui seria para salir, logout
Código PHP:
function webmasterOut()
{
session_start();
if ( $_SESSION['logged_in'] == TRUE )
{
session_destroy();
}
header ( "Location: webmaster-entrar.html" );
}