我正在Kohana中实现auth模块,我似乎无法找出此错误消息的来源 - 当我提交在数据库中创建用户的注册表单时(它成功执行此操作)就会发生这种情况)。
检测到错误,导致无法加载此页面。如果此问题仍然存在,请与网站管理员联系。
application / controllers / register.php [83]:
未定义属性:Register_Controller :: $ 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 )
这是Register_Controller中的create_user()方法:
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');
}
}
}
有人有什么建议吗? :P
答案 0 :(得分:1)
您获得的错误是因为您的控制器中不存在变量$ this-> auth
我猜你打算在构造函数中执行 $this->auth = Auth::instance();
。