Kohana - Registro do usuário Runtime Error (auth)
-
13-09-2019 - |
Pergunta
Estou implementando o módulo auth em Kohana, e eu não consigo descobrir a origem desta mensagem de erro - isso acontece quando eu enviar um formulário de inscrição que cria um usuário no banco de dados (o que faz com sucesso ).
Foi detectado um erro que impediu o carregamento da página. Se isso persistir problemas, entre em contato com o administrador do site.
application / controllers / register.php [83]:
propriedade indefinido: Register_Controller :: $ auth
Eu estou usando jquery para validar o formulário, eo formulário funcionou perfeitamente antes de eu adicionei o jQuery, então o problema pode ter a ver com as requisições Ajax, mas não tenho certeza para onde ir a partir daí ...
Aqui está o rastreamento de pilha:
*
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 )
E aqui está o método create_user () no 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');
}
}
}
Alguém tem alguma sugestão? : P
Solução
O erro que você está recebendo é porque a variável $ this-> auth não existe no seu controlador
Eu estou supondo que você pretende fazer $this->auth = Auth::instance();
no construtor.