In this tutorial I’m going to update user profile information as like name, email, phone, photo and lots of details. follow this tutorial i have to mentioned in very easy way.
1st step got to blade page and put as per below details.
<form method="POST" action="{{ route('admin.profile.store') }}"
enctype="multipart/form-data">
@csrf
<div class="row mb-3">
<div class="col-sm-3">
<h6 class="mb-0">User Name</h6>
</div>
<div class="col-sm-9 text-secondary">
<input type="text" class="form-control"
value="{{ $adminData->username }}" />
</div>
</div>
<div class="row mb-3">
<div class="col-sm-3">
<h6 class="mb-0">Full Name</h6>
</div>
<div class="col-sm-9 text-secondary">
<input type="text" name="name" class="form-control"
value="{{ $adminData->name }}" />
</div>
</div>
<div class="row mb-3">
<div class="col-sm-3">
<h6 class="mb-0">Email</h6>
</div>
<div class="col-sm-9 text-secondary">
<input type="text" name="email" class="form-control"
value="{{ $adminData->email }}" />
</div>
</div>
<div class="row mb-3">
<div class="col-sm-3">
<h6 class="mb-0">Phone</h6>
</div>
<div class="col-sm-9 text-secondary">
<input type="text" name="phone" class="form-control"
value="{{ $adminData->phone }}" />
</div>
</div>
<div class="row mb-3">
<div class="col-sm-3">
<h6 class="mb-0">Address</h6>
</div>
<div class="col-sm-9 text-secondary">
<input type="text" name="address" class="form-control"
value="{{ $adminData->address }}" />
</div>
</div>
<div class="row mb-3">
<div class="col-sm-3">
<h6 class="mb-0">Photo</h6>
</div>
<div class="col-sm-9 text-secondary">
<input type="file" name="photo" class="form-control" id="image" />
</div>
</div>
<div class="row mb-3">
<div class="col-sm-3">
<h6 class="mb-0"></h6>
</div>
<div class="col-sm-9 text-secondary">
<img id="showImage"
src="{{ !empty($adminData->photo) ? url('upload/admin_images/' . $adminData->photo) : url('upload/no_image.png') }}"
alt="Admin" class="rounded-circle p-1 bg-primary" width="100px;"
height="100px;">
</div>
</div>
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-9 text-secondary">
<input type="submit" class="btn btn-primary px-4" value="Save Changes" />
</div>
</div>
</form>
Next go to web.php and put below code
Route::post('/admin/profile/store', [AdminController::class, 'AdminProfileStore'])->name('admin.profile.store');
Next go to controller and put below code.
public function AdminProfileStore(Request $request){
$id = Auth::user()->id;
$data = User::find($id);
$data->name = $request->name;
$data->email = $request->email;
$data->phone = $request->phone;
$data->address = $request->address;
if($request->file('photo')){
$file = $request->file('photo');
Log::info("file me kya aa rha hai".$file);
$filename = date('YmdHi').$file->getClientOriginalName();
$file->move(public_path('upload/admin_images'),$filename);
$data->photo = $filename;
}
$data->save();
return redirect()->back();
}
Now check your update is working successfully.