0

コハナで認証モジュールを実装していますが、このエラーメッセージの原因がわからないようです。データベースにユーザーを作成する登録フォームを送信すると発生します(正常に実行されます)。

このページの読み込みを妨げるエラーが検出されました。この問題が解決しない場合は、Webサイトの管理者に連絡してください。

application / controllers / register.php [83]:

未定義のプロパティ:Register_Controller :: $ auth

私はjqueryを使用してフォームを検証していますが、jqueryを追加する前はフォームが完全に機能していたため、問題はajaxリクエストに関係している可能性がありますが、そこからどこに行くべきかわかりません...

スタックトレースは次のとおりです。

   *

     Register_Controller->create_user(  )

   * system/core/Kohana.php [291]:

     ReflectionMethod->invokeArgs( Register_Controller Object
     (
         [template] => View Object
             (
                 [kohana_filename:protected] => /var/www/ko/testsite/system/views/form/template.php
                 [kohana_filetype:protected] => .php
                 [kohana_local_data:protected] => Array
                     (
                     )

             )

         [auto_render] => 1
         [uri] => URI Object
             (
             )

         [input] => Input Object
             (
                 [use_xss_clean:protected] => 1
                 [magic_quotes_gpc:protected] => 1
                 [ip_address] => 
             )

     )
      )

   *

     Kohana::instance(  )

   * system/core/Event.php [209]:

     call_user_func( Array
     (
         [0] => Kohana
         [1] => instance
     )
      )

   * system/core/Bootstrap.php [55]:

     Event::run( system.execute )

   * index.php [106]:

     require( system/core/Bootstrap.php )

そして、Register_Controllerのcreate_user()メソッドは次のとおりです。

public function create_user()
{
   if($_POST)
   {
      $post = $this->input->post();
      $user = ORM::factory('user');

      $user->add(ORM::factory('role', 'login'));

     if($user->validate($post, TRUE))
      {
         $this->auth->login($user, $post->password);
         url::redirect();
      }
      else
      {
         url::redirect('register');
      }
   }
}

誰か提案がありますか?:P

4

1 に答える 1

1

発生するエラーは、変数$this->authがコントローラーに存在しないためです。

$this->auth = Auth::instance();コンストラクターでやろうと思っていたと思います。

于 2009-08-12T21:36:00.857 に答える