[英]How do I bcrypt password when inserting into MySQL?
我正在嘗試使用Laravel 4創建用戶注冊表單,但是在插入數據庫之前無法對密碼進行加密。 我的示例代碼如下。
app / model / Register.php中的代碼
class Register extends Eloquent {
protected $guarded = array();
protected $table = 'login'; // table name
public $timestamps = 'true' ; // to disable default timestamp fields
// model function to store form data to database
public static function saveFormData($data)
{
DB::table('login')->insert($data);
}
}
RegisterController.php上的代碼
public function store()
{
$data = Input::except(array('_token')) ;
$rule = array(
'firstName'=>'required|alpha|min:2',
'lastName'=>'required|alpha|min:2',
'email'=>'required|email|unique:intern_login',
'password'=>'required|alpha_num|min:8'
) ;
$validator = Validator::make($data,$rule);
if ($validator->fails())
{
return Redirect::to('register')
->withErrors($validator->messages());
}
else
{
Register::saveFormData(Input::except(array('_token')));
return Redirect::to('register')
->withMessage('Data inserted');
}
}
在routes.php中的代碼
Route::post('register_action', function()
{
$obj = new RegisterController() ;
return $obj->store();
});
提前致謝。
如文檔中所述,您必須使用Hash::make
函數。
$password = Hash::make('secret');
也就是說,您的代碼摘錄表明您不了解Laravel的工作方式。 您閱讀過文檔或任何教程嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.