امین
2 سال پیش توسط امین مطرح شد
3 پاسخ

ذخیره نشدن اطلاعات در دیتابیس

سلام من این ارور رو دارم
The PUT method is not supported for this route. Supported methods: POST.
مشکل از کجاست؟
روت:

Route::post('register/store',[UserController::class,'store'])->name('store.register');

کنترلر:

public function store(Request $request)
    {
        $user = new user([
            'name'=>$request->get('name'),
            'email'=>$request->get('email'),
            'password'=>$request->get('password'),
            'gender'=>$request->get('gender'),
            'age'=>$request->get('age'),
        ]);
        try {
            $user->save();
        } catch (\Exception $exception){
            dd($request);
            //return view('register')->with('warning',$exception->getCode());
        }
    }

اینم فرم ام:

<form class="mt-5 p-4 text-padding w-75 rounded-3 mx-auto" style="background-color: #deecf4" method="POST" action="{{route('store.register')}}">
    @csrf
    {{ method_field('PUT') }}

ثبت پرسش جدید
رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 2 سال پیش مطرح شد
0

سلام به شما دوست عزیز.
مشکل کار اینجاس که شما اومدی روت رو به صورت post تعریف کردی، داخل کنترلر هم میخوای اطلاعات کاربر رو ذخیره کنی که میشه یک عمل post، تا اینجا درسته، اشتباهت اینه که اومدی داخل فرم بعد از

@csrf

عبارت زیر رو قرار دادی که نیازی بهش نیست، عبارت زیر رو از کدت حذف کن تا مشکلت برطرف بشه:

{{ method_field('PUT') }}

کدتونو بسیار کثیف یا به اصطلاح hard code نوشتین، روی مباحث clean code بیشتر کار کنین.
موفق باشید.


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش مطرح شد
0

متد تعریف شده برای مسیر URL مورد نظر و فرم ارسالیتون با هم یکسان نیستند.
بعنوان مشخص ترین و ساده ترین راهکار کافیه روت تون رو با متد put بازنویسی کنید:

Route::put('register/store', [UserController::class,'store'])->name('store.register');

امین
@alavi.gavad 2 سال پیش آپدیت شد
0

سلام
put رو هم نوشتم باز همون خطا رو میده


رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 2 سال پیش مطرح شد
0

سلام به شما دوست عزیز.
مشکل کار اینجاس که شما اومدی روت رو به صورت post تعریف کردی، داخل کنترلر هم میخوای اطلاعات کاربر رو ذخیره کنی که میشه یک عمل post، تا اینجا درسته، اشتباهت اینه که اومدی داخل فرم بعد از

@csrf

عبارت زیر رو قرار دادی که نیازی بهش نیست، عبارت زیر رو از کدت حذف کن تا مشکلت برطرف بشه:

{{ method_field('PUT') }}

کدتونو بسیار کثیف یا به اصطلاح hard code نوشتین، روی مباحث clean code بیشتر کار کنین.
موفق باشید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام