2011-06-29 37 views
3

我正在尝试使用kohana2文档中提供的ORM示例为我的kohana2应用创建登录表单(http://docs.kohanaphp.com/addons/auth)。我已经完成了所有在维基上的工作,但在提供用户名,密码和发送表单之后,没有任何反应。没有错误,没有例外,什么都没有!只是相同的形式没有任何错误。kohana2 auth - 登录问题

这里是控制器动作,唯一的事情,我已经改变了被添加模板功能:http://pastebin.com/jEc4nqSP

有符合42 die()功能,它的存在进行调试。发送表单后,显示Array ([username] => invalid) 1。我相信我在数据库中有这个用户数据,并且我提供了一个正确的用户名和密码。角色设置为login。你有什么想法我做错了什么?

谢谢。

回答

0

好的问题解决了!所有我们需要做的是建立与此代码(从kohana2文档登记控制器)的新用户:

<?php 
// grab relevant $_POST data 
$username = $this->input->post('username'); 
$password = $this->input->post('password'); 

// instantiate User_Model and set attributes to the $_POST data 
$user = ORM::factory('user'); 
$user->username = $username; 
$user->password = Auth::instance()->hash_password($password); 

// if the user was successfully created... 
if ($user->add(ORM::factory('role', 'login')) AND $user->save()) { 

    // login using the collected data 
    Auth::instance()->login($username, $password); 

    // redirect to somewhere   
    url::redirect('user/profile'); 
} 

以前的管理员登录的数据是不工作的原因密码不正确散列。

0

在第39行,您正在创建一个空的ORM用户对象。至少,你想要:

ORM::factory('user', $post['username']) 

虽然你可能想重构,所以它实际上检查,用户名值设置。

+0

不幸的是它仍然无法正常工作。我仍然得到相同的die()结果。 顺便说一句,不是'login($ post)'方法处理'$ post ['username']'? – mbajur