Frage

Ich bin der Umsetzung des Auth-Modul in Kohana, und ich kann nicht die Quelle dieser Fehlermeldung scheinen, um herauszufinden - es passiert, wenn ich ein Anmeldeformular einreichen, die einen Benutzer in der Datenbank erstellt (was sie erfolgreich macht ).

  

Es wurde ein Fehler festgestellt, die das Laden der Seite verhindert. Wenn dieses Problem weiterhin besteht, wenden Sie sich bitte auf der Website-Administrator.

     

application / controllers / register.php [83]:

     

nicht definierte Eigenschaft: Register_Controller :: $ auth

Ich bin mit jquery dem Formular zu validieren und die Form hat perfekt funktioniert, bevor ich die Jquery hinzugefügt, so könnte das Problem mit den Ajax-Anfragen zu tun hat, aber ich bin nicht sicher, wo es weitergeht ...

Hier ist der Stack-Trace:

   *

     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 )

Und hier ist der create_user () -Methode in dem Register_Controller:

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');
      }
   }
}

Wer irgendwelche Vorschläge? : P

War es hilfreich?

Lösung

Der Fehler Sie bekommen ist, weil die Variable $ this-> auth nicht in Ihrem Controller existiert

Ich vermute, Sie $this->auth = Auth::instance(); in den Konstruktor zu tun bedeutet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top