Hola enriqueplace,
El contexto, es una validación de usuario, en la página de login con un formulario de usuario y password que envía los datos a la misma página. Si el usuario se valida correctamente no se carga la de login y se redirecciona a la pagina principal de la administración.
Aquí te pongo más código tal y como me has pedido y aprovecho para poner como he implementado la solución por si a alguien le puede servir.
Página de login:
Código PHP:
....
if (!empty($_POST['usuario']) && !empty($_POST['clave']))
{
$post_usuario = strtolower($_POST['usuario']); //Guardo en BDD usuario y password en minúsculas
$post_clave = strtolower($_POST['clave']);
$obj = new Login($post_usuario, $post_clave);
//Solución, he creado un atributo en la clase que me indica
//si el usuario está registrado o no
if ($obj->registrado !== false)
{
session_start();
$_SESSION['USUARIO'] = $post_usuario;
$_SESSION['CLAVE'] = $post_clave;
header("location: area.php");
exit();
}
}
//Empieza el código html de la página de login
....
Implementación del constructor de la clase login:
Código PHP:
.....
function Login($usuario = "", $clave = "")
{
$this->coneccion = new Coneccion(MYSQL_URL,MYSQL_USER,MYSQL_PASS,MYSQL_SCHEMA);
$res = $this->coneccion->conecta();
if (!$res)
die($this->coneccion->ultimoError());
$res = $this->coneccion->consulta("SELECT * FROM clientes WHERE usuario='$usuario' AND clave='$clave'");
if (!$res)
die($this->coneccion->ultimoError());
if ($this->coneccion->numeroResultados() == 0)
{
unset($this);
$this->registrado = false;
return false;
}
$this->registrado = true;
return true;
}
...
Saludos!!!