Kohana - Registrazione utente Errore di runtime (autenticazione)
-
13-09-2019 - |
Domanda
sto implementando il modulo di autenticazione in Kohana, e io non riesco a capire l'origine di questo messaggio di errore - Succede quando invio un modulo di registrazione che crea un utente nel database (che lo fa con successo ).
stato rilevato un errore che ha impedito il caricamento di questa pagina. Se il problema persiste, si prega di contattare l'amministratore del sito.
application / controller / register.php [83]:
proprietà non definita: Register_Controller :: $ auth
Sto usando jQuery per convalidare la forma, e la forma funzionato perfettamente prima ho aggiunto il jquery, quindi il problema potrebbe avere a che fare con le richieste Ajax, ma non sono sicuro dove andare da lì ...
Ecco la traccia dello stack:
*
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 )
Ed ecco il metodo create_user () nella 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');
}
}
}
Qualcuno ha qualche suggerimento? : P
Soluzione
L'errore che stai ricevendo è perché la variabile $ this-> auth non esiste nel vostro controller
Sto indovinando si intende fare $this->auth = Auth::instance();
nel costruttore.