我正在尝试创建一个页面来编辑登录的用户个人资料。
当我转到localhost.dev/users/1时,将显示表格。 然后输入新的详细信息,然后单击发送。 页面重新加载。 然后我注销并输入新密码,但无法识别。 看起来在提交时数据没有存储在数据库中。
路线
Route::get('users/{user}', ['as' => 'users.edit', 'uses' => 'UserController@edit']);
Route::patch('users/{user}/update', ['as' => 'users.update', 'uses' => 'UserController@update']);
UserController-控制器
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use App\User;
class UserController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function edit(User $user)
{
$user = Auth::user();
return view('users.edit', compact('user'));
}
public function update(User $user)
{
$this->validate(request(), [
'name' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:6|confirmed'
]);
$user->name = request('name');
$user->email = request('email');
$user->password = bcrypt(request('password'));
$user->save();
return back();
}
}
user / edit.blade.php-视图
<form method="post" action="{{route('users.update', $user)}}">
{{ csrf_field() }}
{{ method_field('patch') }}
<input type="text" name="name" value="{{ $user->name }}" />
<input type="email" name="email" value="{{ $user->email }}" />
<input type="password" name="password" />
<input type="password" name="password_confirmation" />
<button type="submit">Send</button>
</form>
路由正常,输入数据,然后单击“发送”,数据不存储
答案 0 :(得分:0)
Laravel现在使用它来加密密码:
use Illuminate\Support\Facades\Hash;
Hash::make(request('password'));
因此您可能会发现bcrypt
无效。