راکت
امین
امین
توسط امین مطرح شد
حل
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
@rezajahangir4 سال پیشمطرح شد
0

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

@csrf

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

{{ method_field('PUT') }}

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


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

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

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

امین
امین
@alavi.gavad4 سال پیشمطرح شد
0

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


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

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

@csrf

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

{{ method_field('PUT') }}

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


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

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