Kohana — ошибка выполнения регистрации пользователя (auth)
-
13-09-2019 - |
Вопрос
Я реализую модуль аутентификации в Kohana и не могу понять источник этого сообщения об ошибке — это происходит, когда я отправляю регистрационную форму, которая создает пользователя в базе данных (что он успешно и делает).
Обнаружена ошибка, которая препятствовала загрузке этой страницы.Если проблема сохранится, обратитесь к администратору сайта.
приложение/контроллеры/register.php [83]:
Неопределенное свойство:Регистр_контроллер::$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 )
А вот метод create_user() в 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');
}
}
}
У кого-нибудь есть предложения?:П
Решение
Ошибка, которую вы получаете, связана с тем, что переменная $this->auth не существует в вашем контроллере.
Я предполагаю, что ты хотел сделать $this->auth = Auth::instance();
в конструкторе.