我收到了下一个代码:
public function registrarUsu(){
$datosregistro = array(
null,
"Carlos Delgado",
"Gonzalez Padron",
Input::get('username'),
Hash::make(Input::get('contrasena')),
);
$consulta = DB::insert('insert into usuarios (id, nombres, apellidos, nick_name, contrasena) values ( ?, ?, ?, ?, ?)', $datosregistro);
DB::commit($consulta);
}
它的作用是什么;从我早期创建的简单登录表单中获取用户名和密码,它完成它的工作,抓取所有数据并将其保存到数据库(静态字段仅用于演示)。问题是当我尝试使用下一个函数验证用户时:
public function loguearUsu(){
$datosdeusu = array(
'nick_name' => Input::get('username'),
'contrasena' => Input::get('Contrasena'),
);
if(Auth::attempt($datosdeusu)){
return Redirect::to('/');
}}
我认为问题是密码,每次我尝试登录时只返回false,但是如果我使用var_dump它会显示用户名和密码,就像它们在数据库中一样,那么我做错了什么?
答案 0 :(得分:0)
public function loguearUsu(){
$datosdeusu = array(
'nick_name' => Input::get('username'),
'contrasena' => Input::get('Contrasena'),
);
if(Auth::attempt($datosdeusu)){
return Redirect::to('/');
}
}
寄存器上的输入:: get('contrasena')与登录不一样,重新检查
无论如何你可以使用它(如果输入是两个字段:用户名,密码)
if(Auth::attempt(Input::all())){
return Redirect::to('main');
}
答案 1 :(得分:0)
您可能需要更新用户模型,因为您使用非标准字段作为密码。尝试将此添加到您的用户模型。希望有所帮助。
public function getAuthPassword()
{
return $this->attributes['contrasena'];
}