Tengo una pagina de login, clasica, hace post a admin_auth.php que es la encargada de autenticar al usuario contra la base.
admin_auth.php:
Código PHP:
<?php
session_start();
require_once('config.php');
require_once(CLASSES.'/Sistema.php');
require_once(CLASSES.'/Administrator.php');
if (isset ($_POST["username"]) || isset ($_POST["password"])) {
if (Sistema::getInstance()->authenticateAdministrator($_POST["username"], $_POST["password"]) == true) {
$admin = new Administrator();
$admin->setUsername($_POST["username"]);
$admin->load();
$_SESSION['admin']= 'yes';
$_SESSION['admin_id']= $admin->getId(); //->Linea 16
$_SESSION['username']= $_POST['username'];
setcookie("username", $_POST['username'], time() + (84600 * 30));
header("Location: admin_main.php");
}
else {
// authentication failed
$_SESSION['admin']= 'login_failed';
unset($_SESSION['admin_id']);
unset($_SESSION['username']);
header("location:index.php");
}
} else
echo "Acceso no autorizado";
?>
Si me logueo con un password incorrecto, a la segunda vez que intento loguearme, me da el error:
Código PHP:
Fatal error: Call to a member function getId() on a non-object in /hsphere/local/home2/userx/beta.sitio.com/administrator/admin_auth.php on line 16
Comentario: probé el metodo load() y la clase Administrator por separado y al parecer funcionan correctamente.
Ultimamente me estan pasando estos errores insólitos... que mala racha... Agradezco sus aportes!