2009-08-12 5 views
0

Ich bin die Auth-Modul in Kohana implementieren, und ich kann nicht scheinen, die Quelle dieser Fehlermeldung - passiert, wenn ich ein Registrierungsformular, das erstellt ein Benutzer in der Datenbank (was es erfolgreich macht).Kohana - User Registration Laufzeitfehler (Auth)

Es wurde ein Fehler festgestellt, der das Laden dieser Seite verhindert hat. Wenn das Problem weiterhin besteht, wenden Sie sich an den Website-Administrator.

application/controllers/register.php [83]:

nicht definierte Eigenschaft: Register_Controller :: $ auth

ich jquery mit dem Formular zu validieren und die Form hat perfekt funktioniert, bevor ich die jquery hinzugefügt, so dass das Problem mit den ajax-Anfragen zu tun haben könnte, 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'); 
     } 
    } 
} 

jemand irgendwelche Vorschläge? : P

Antwort

1

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

existieren Ich vermute, Sie $this->auth = Auth::instance(); im Konstruktor zu tun bedeutete.

+0

Vielen Dank - aus irgendeinem Grund dachte ich, ich hätte das bereits aufgenommen – mportiz08