你好,我是新来laravel和我试图代码功能我的登录表单这里是代码:
这就是我创建新用户的方式(工作正常)
public function action_newuser()
{
$email = Input::get('email');
$password = Input::get('password');
$new_user = Input::get('new_user', 'off');
$first_name= Input::get('firstname');
$last_name= Input::get('last_name');
$username= Input::get('username');
$user = new User();
$user->email = $email;
$user->password = Hash::make($password);
$user->first_name =$first_name;
$user->last_name= $last_name;
$user->username= $username;
try{
$user->save();
}
catch(Exception $e) {
echo "Failed to create new user!";
}
public function action_login()
{
$password = Input::get('password');
$username= Input::get('username');
$remember= Input::get('remember', 'off');
if($remember =='off') $remember=FALSE;
if($remember =='on') $remember=TRUE;
$credentials = array(
'username' => $username,
'password' => $password,
'remember' => $remember
);
if( Auth::attempt($credentials))
{
return Redirect::to('dashboard/index');
}
else
{
#I put this line to check are the values passed from my form are correct.
echo $password.' ' .$username.' '. $remember;
}
}
当我提交登录表单时,它总是显示一个空白页面,其值为$password、$username和$member。这意味着Auth::trunt()工作不正常。
有什么问题吗?
愚弄我!虽然我已经检查了很多次,但我看不到'username'=行
它应该是'username'=
检查以确保数据库密码字段为60个字符。
对于所有面临Auth::trument()登录失败且具有有效信用的laravel 4开发人员!
解决方案:
>
public function setPasswordAttribute($pass) {
$this->attributes['password'] = Hash::make($pass);
}
在UserController中:
//创建用户或注册
public function postCreate() {
$input = Input::all();
$user = new User;
$user->username = Input::get('username');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user = User::create($input);
return Redirect::action("Frontend\HomeController@index");
}
//登录或登录
public function postSignin() {
$userdata = array(
'username' => Input::get('username'),
'password' => Input::get('password')
);
if (Auth::attempt($userdata, true)) {
Session::put('username', Auth::user()->username);
return Redirect::action("Frontend\HomeController@index");
} else {
return Redirect::action("Frontend\UserController@getLogin")
->with('message', 'Your username/password combination was incorrect')
->withInput();
}
希望我在那里帮助过别人