Update user profile in laravel

 

user_profile.blade.php

@extends('common.master')
@section('title', 'User Profile')
@section('content')

<div class="container">

@if (session('msg'))
   <div class="alert alert-success" style="color:white">
{{ session('msg') }}
</div>
@endif

<div style="position:relative; float:rights; margin-lefts:140px"><a class="btn btn-primary btn-sm" href="{{route('all-users')}}">All Users</a></div>
<div class="card">

<div class="container p-3">

<h5 class="text-secondary">User's Profile</h5><br/>

<?php 
  $users = DB::table('users')->where('id', $id)->get();
?>

<!-- row start -->

<div class="row">

<!-- first column start -->

<div class="col-lg-6">

 <form method="post" action="{{route('saveusers')}}">  

          <label class="form-label">Full Name</label>   
          <div class="input-group input-group-dynamic">
               <input class="multisteps-form__input form-control" type="text" onfocus="focused(this)" onfocusout="defocused(this)" name="name" value="{{$users[0]->name}}">
          </div>

          @error('name')
             <div class="alert alert-danger" style="color:white">{{$message}}</div>
          @enderror

          @csrf

          <label class="form-label">Email</label>
          <div class="input-group input-group-dynamic">
               <input class="multisteps-form__input form-control" type="email" onfocus="focused(this)" onfocusout="defocused(this)" name="email" value="{{$users[0]->email}}">
          </div>

          @error('email')
            <div class="alert alert-danger" style="color:white">{{$message}}</div>
           @enderror

          <label class="form-label">Password</label>
          <div class="input-group input-group-dynamic">
               <input class="multisteps-form__input form-control" type="password" onfocus="focused(this)" onfocusout="defocused(this)" name="password" value="">
          </div>

          <label class="form-label">Confirm Password</label>
          <div class="input-group input-group-dynamic">
               <input class="multisteps-form__input form-control" type="password" onfocus="focused(this)" onfocusout="defocused(this)" name="password_confirmation" value="">
          </div>

          @error('password')
              <div class="alert alert-danger" style="color:white">{{$message}}</div>
          @enderror
         <br/>

          <input type="hidden" name="id" value="{{$id}}">

          <!-- <label class="form-label">Role</label> -->
          <div class="input-group input-group-dynamic">              
               <select name="role" class="form-control">
                  <option>Select User Role</option>
                  <option value="writer">Write</option>
                  <option value="admin">Admin</option>
               </select>
          </div>

          @error('role')
             <div class="alert alert-danger" style="color:white">{{$message}}</div>
          @enderror
          <br/>

          <button type="submit" class="btn btn-primary btn-sm">Update</button>

</form>

      </div>

   <!-- first column end -->

</div>

<!-- row end -->

</div>

</div>

</div>

@endsection
controller

function saveusers(Request $req){

$validated = $req->validate([
'email'=>'required',
'name'=>'required',
'role'=>'required',
'password' => 'required|confirmed',
'password_confirmation' => 'required|same:password',
]);

DB::table('users')->where('id', $req->id)->update([
'name' => $req->name,
'email' => $req->email,
'password' => Hash::make($req->password),
'role' => $req->role,
]);

return back()->with('msg', 'Profile Updated Successfully !');

}

 

 

Leave a Reply