2011-06-29 36 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