Witam.
Mam bardzo dziwny problem z logowaniem. Mam 2 kontrolery: Login i Index. Jak się można domyśleć pierwszy jest aktywny gdy się logujemy i w wypadku powodzenia przekierowuje do drugiego. Niestety w przypadku poprawnych danych przekierowuje mnie z powrotem na stronę logowania. Nigdzie nie mam aktywnego przekierowania na stronę logowania
<?php defined('SYSPATH') or
die('No direct script access.');
class Controller_Index extends Controller_Template {
public $template = "main/index";
public function before()
{
parent::before();
$this->template->menu = View::factory("main/menu");
$this->template->content = View::factory("main/content");
//if(!$this->is_logged())
// $this->redirect('login');
$session = Session::instance();
$this->template->menu->user_data = $session->get('user_data');
}
public function action_index()
{
}
public function is_logged()
{
$session = Session::instance();
if($session->get('user_data')) {
return true;
}
return false;
}
}
?>
<?php defined('SYSPATH') or
die('No direct script access.');
class Controller_Login extends Controller_Template {
public $template = "main/index";
private $view;
private $login;
public function before()
{
parent::before();
//if($this->is_logged()) {
// $this->redirect('/');
//}
$this->login = new Model_Login;
$this->template->content = View::Factory("main/login");
$this->view = &$this->template->content;
$this->template->menu = '';
}
public function action_login()
{
$post = $this->request->post();
if($post) {
try {
if($this->login->log_in($post)) //zwraca true
$this->redirect('/'); //nie dziala
} catch(Exception $e) {
$this->view->login_error = $e->getMessage();
}
}
}
public function action_logout()
{
$this->login->log_out();
$this->redirect('login');
}
public function is_logged()
{
$session = Session::instance();
if($session->get('user_data')) {
return true;
}
return false;
}
}
?>