3

kohana2 docs(http://docs.kohanaphp.com/addons/auth)に示されているORMの例を使用して、kohana2アプリのログインフォームを作成しようとしています。私はウィキのようにすべてを行いましたが、ユーザー名、パスワードを提供し、フォームを送信した後、何も起こりません。エラーなし、例外なし、何もありません!エラーのない同じフォーム。

これがコントローラーのアクションです。私が変更したのは、テンプレート機能を追加することだけでした:http: //pastebin.com/jEc4nqSP

die()42行目に関数があり、デバッグ用にあります。フォームを送信すると、が表示されますArray ( [username] => invalid ) 1。私はデータベースにそのユーザーデータを持っていると確信しており、適切なユーザー名とパスワードを提供しています。役割はに設定されloginます。私が間違っていることを知っていますか?

ありがとう。

4

2 に答える 2

0

問題は解決しました。このコード(kohana2 docsの登録コントローラー)を使用して新しいユーザーを作成するだけです。

<?php
// grab relevant $_POST data
$username = $this->input->post('username');
$password = $this->input->post('password');

// instantiate User_Model and set attributes to the $_POST data
$user = ORM::factory('user');
$user->username = $username;
$user->password = Auth::instance()->hash_password($password);

// if the user was successfully created...
if ($user->add(ORM::factory('role', 'login')) AND $user->save()) {

    // login using the collected data
    Auth::instance()->login($username, $password);

    // redirect to somewhere         
    url::redirect('user/profile');
}

パスワードが適切にハッシュされなかったため、以前の管理者ログインデータが機能していませんでした。

于 2011-10-08T12:36:20.983 に答える
0

39 行目では、空の ORM ユーザー オブジェクトを作成しています。少なくとも、確かにあなたは欲しい:

ORM::factory('user', $post['username'])

おそらくそれをリファクタリングしたいでしょうが、実際にはユーザー名の値が設定されていることを確認します。

于 2011-06-30T03:40:39.697 に答える