Ну вот беда. Код прост:
public function action_index()
{
$post = $this->request->post();
if ($post) {
// if I type it like this, manually - it will work
$success = Auth::instance()->login('admin','password');
}
if (isset($success) and $success) { echo "Пользователь залогинен"; }
}
К сожалению, он регистрирует только первую запись в базе данных, которая является администратором, поскольку по умолчанию конфигурация была в таблице, если я создаю нового пользователя. Как это:
$auth = Auth::instance();
$user = new Model_User();
$user->username = "Victor";
$user->$auth->hash_password('psw123');
$user->email = "[email protected]";
$user->save();
И чем использовать его, как я сказал, только с реальными данными, как
$post["email"] or $post["username"] with $post["password"]
код:
if ($post) {
// the values from posts: 'Victor' or '[email protected]` & 'psw123'
$success = Auth::instance()->login('[email protected]','psw123');
}
он не войдет в меня.
upd Я не могу войти в систему как администратор, но все работает отлично, если я изменю роль на login
(это 1 в базе данных). Но если роль будет установлена 2
(это роль admin
) она меня не примет, даже экземпляр Auth
не делать.
$post = $this->request->post();
$success = Auth::instance()->login($post['email'], $post['pass']);
if ($success)
{
echo "SUCCESS!";
}
Еще раз повторюсь, если роль будет 2 (имеется в виду admin) это не будет Success me вместо login
роли.
Что может быть причиной этой беды?