Horje
update profile method in laravel Code Example
update profile method in laravel
//web.php
Route::post('update-profile',[App\Http\Controllers\HomeController::class,'updateProfile'])->name('update-profile');


//_controller.php

public function __construct()
    {
        $this->middleware('auth');
    }

public function updateProfile(Request $request){

       $request->validate([
            "name" => "required|min:3|max:50",
            "photo" => "nullable|file|mimes:jpeg,png|max:1000",
        ]);

        $user = User::find(auth()->id());
        $user->name = $request->name;
        if($request->hasFile('photo')){

//          delete old photo  => path:storage/profile/profile_6221cecf36ad9.jpg
            $subStrPhotoName = Str::substr($user->photo,16);
            Storage::delete('public/profile/'.$subStrPhotoName);

//            create new photo
            $dir="storage/profile";
            $newName = "profile_".uniqid().".".$request->file('photo')->extension();
            $request->file('photo')->storeAs("public/profile",$newName);
            $user->photo = $dir."/".$newName;
        }
        $user->update();
        return redirect()->back();
    }


//update.blade.php
<form action="{{ route('update-profile') }}" method="post" enctype="multipart/form-data">
                        @csrf
                        <div class="">
                            <input type="file" name="photo" accept="image/jpeg,image/png" value="{{ old('photo',auth()->user()->photo) }}" class="@error('photo') is-invalid @enderror">
                            @error('photo')
                            <div class="invalid-feedback ps-2">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-floating mb-3">
                            <input type="text" name="name" class="form-control @error('name') is-invalid @enderror" id="yourName" value="{{ auth()->user()->name }}" placeholder="name@example.com">
                            <label for="yourName">Your Name</label>
                            @error('name')
                            <div class="invalid-feedback ps-2">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-floating mb-3">
                            <input disabled type="email"  class="form-control" id="yourEmail" value="{{ auth()->user()->email }}" placeholder="name@example.com">
                            <label for="yourEmail">Your Email</label>
                        </div>

                        <div class="text-center">
                            <button class="btn btn-lg btn-primary text-white">Update Profile</button>
                        </div>
                    </form>




Php

Related
how to connect to database using  php 8.0.13 Code Example how to connect to database using php 8.0.13 Code Example
wp-config for production Code Example wp-config for production Code Example
php zoom api start_time issue Code Example php zoom api start_time issue Code Example
registration welcome email laravel Code Example registration welcome email laravel Code Example
Stopping On First Validation Failure Code Example Stopping On First Validation Failure Code Example

Type:
Code Example
Category:
Coding
Sub Category:
Code Example
Uploaded by:
Admin
Views:
11