Php 更新用户配置文件时出现问题,因为不支持PUT方法[Laravel]

Php 更新用户配置文件时出现问题,因为不支持PUT方法[Laravel],php,laravel,Php,Laravel,我正在尝试更新我的用户配置文件,但遇到了以下问题: Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 此路由不支持PUT方法。支持的方法:GET、HEAD、POST 我已经确定了路线,我不知道为什么会发生这种情况 web.php Route::get('/user/{id}',[UserController::class,'show'])->name('user.profile'); Route::ge

我正在尝试更新我的用户配置文件,但遇到了以下问题:

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 此路由不支持PUT方法。支持的方法:GET、HEAD、POST

我已经确定了路线,我不知道为什么会发生这种情况

web.php

Route::get('/user/{id}',[UserController::class,'show'])->name('user.profile');
Route::get('/edit/user/',[UserController::class,'edit'])->name('user.edit');
Route::post('/edit/user/',[UserController::class,'update'])->name('user.update');
<form class="form-horizontal" action="{{route('user.update',$user->id)}}" method="POST">
              @csrf
              @method('PUT')

              @if(session('success'))
              <div class="alert alert-success"  role="alert">
                 {{session('success')}}
              </div>
              @endif

                <div class="card-body">
                  <div class="form-group row">
                    <label for="name" class="col-sm-2 col-form-label">Name</label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" name="name"  value="{{$user->name}}">
                    </div>
                  </div>
UserController

public function update(Request $request)
    {
        
        $user = User::find(Auth::user()->id);
        if ($user){
            $validate = null;
            if (Auth::user()->email === $request ['email']) {
                $validate = $request->validate([
                    'name' => 'required',
                    'email' => 'required',
                    'phone' => 'required',
                    'address' => 'required'
                ]);
            } else {
                $validate = $request->validate([
                    'name' => 'required',
                    'email' => 'required',
                    'phone' => 'required',
                    'address' => 'required'
                ]);
            }
            if($validate){
 
                $user->name = $request['name'];
                $user->email =$request['email'];
                $user->phone = $request['phone'];
                $user->address = $request['address'];

                $user->save();
                $request ->session->flash('success', 'Profile have been updated');
                return redirect()->back();
            } else{
                return redirect()->back();
            }
        } else {
            return redirect()->back();
        }
    }
edit.blade.php

Route::get('/user/{id}',[UserController::class,'show'])->name('user.profile');
Route::get('/edit/user/',[UserController::class,'edit'])->name('user.edit');
Route::post('/edit/user/',[UserController::class,'update'])->name('user.update');
<form class="form-horizontal" action="{{route('user.update',$user->id)}}" method="POST">
              @csrf
              @method('PUT')

              @if(session('success'))
              <div class="alert alert-success"  role="alert">
                 {{session('success')}}
              </div>
              @endif

                <div class="card-body">
                  <div class="form-group row">
                    <label for="name" class="col-sm-2 col-form-label">Name</label>
                    <div class="col-sm-10">
                      <input type="text" class="form-control" name="name"  value="{{$user->name}}">
                    </div>
                  </div>

@csrf
@方法('PUT')
@if(会话(“成功”)
{{session('success')}
@恩迪夫
名称
从刀片文件中删除@method('PUT')-

<form class="form-horizontal" action="{{route('user.update',$user->id)}}" method="POST">
          @csrf

          @if(session('success'))
          <div class="alert alert-success"  role="alert">
             {{session('success')}}
          </div>
          @endif

            <div class="card-body">
              <div class="form-group row">
                <label for="name" class="col-sm-2 col-form-label">Name</label>
                <div class="col-sm-10">
                  <input type="text" class="form-control" name="name"  value="{{$user->name}}">
                </div>
              </div>

@csrf
@if(会话(“成功”)
{{session('success')}
@恩迪夫
名称

您没有将其定义为
PUT
您将其定义为
POST
,因此方法不匹配。。您的表单正在将该方法欺骗为
PUT