まあ、それは問題です。コードは簡単です:
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 = "me@email.com";
$user->save();
そして、私が言ったようにそれを使用するよりも、実際のデータのみを
$post["email"] or $post["username"] with $post["password"]
コード:
if ($post) {
// the values from posts: 'Victor' or 'me@email.com` & 'psw123'
$success = Auth::instance()->login('me@email.com','psw123');
}
それは私にログインしません。
upd管理者としてログインできませんが、役割を変更するとすべてが完全に機能しますlogin
(データベースでは 1 です)。しかし、ロールが2
(それはadmin
ロールです) に設定される場合、それは私を受け入れず、インスタンスを作成しませんAuth
。
$post = $this->request->post();
$success = Auth::instance()->login($post['email'], $post['pass']);
if ($success)
{
echo "SUCCESS!";
}
繰り返しますが、役割が 2 (管理者を意味します) になる場合、これは役割ではなく、Success me ではありませんlogin
。
このトラブルの原因は何ですか?