I get this error. [The GET method is not supported for this route. Supported methods: POST.]

自闭症网瘾萝莉.ら 提交于 2020-08-10 19:17:05

问题


I'm new to Laravel and making a travelpost web site. I face the error but I don't understand why i get this error. I set 'method post' in confirm.lade.php, but i take'get method'. I look for the solutions on Google,but i cann't find.

I tried

1, add @csfr

2, Route::match([get,post],~

3, php artisan route:clear

This is my code.

Route

Route::get('/' , 'ContentController@index')->name('index');
Auth::routes(['verify' => true]);

Route::get('signup', 'Auth\RegisterController@showRegistrationForm')->name('signup.get');
Route::post('signup', 'Auth\RegisterController@register')->name('signup.post');
Route::get('login' , 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login' , 'Auth\LoginController@login')->name('login.post');
Route::get('logout' , 'Auth\LoginController@logout')->name('logout.get');
Route::get('search' , 'SearchController@index')->name('search');

Route::get('/contact' , 'ContactController@index')->name('contact.index');
Route::post('/contact/confirm' , 'ContactController@confirm')->name('contact.confirm');
Route::post('/contact/send' , 'ContactController@send')->name('contact.send');

Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');;

Route::group(['middleware' => ['auth']], function(){
Route::resource('/content' , 'ContentController' , ['except'=>['index']]);
Route::resource('users', 'UsersController', ['only' => ['index' , 'show' ]]);  
});


Controller


 public function confirm(Request $request)
    {
        $data = [];
        $request->validate([
            'content' => 'required|string',
            'email' => 'required|string',
            'name' => 'required|string'
            ]);
            
        $content  = $request->get('content');
        
        $email = $request->get('email');

        $name= $request->get('name');
        
        $data = [
            'content' => $content,
            'message' => '確認画面',
            'email' => $email,
            'name'=>$name
            ];
        
        return view ('contact.confirm' , $data);
            
    }
    
    public function send(Request $request)
    {
        $request->validate([
            'content' => 'required|string',
            'email' => 'required|string',
            'name'=> 'required|string'
            ]);
       
            /*
             \Mail::send(new ContactSendmail([
             'to_name' => $request->name,
             'name'=> 'Tufs-Tours',
             'from_email' => 'kaai06221733@gmail.com',
             'to' => $request->email,
             'data' => $request->content,
             'subject' => '自動送信メール'
             ], 'mail.blade.php'));
             */
             $to= 'kaai06221733@gmail.com';
             
             Mail::to($to)->send(new Contactsendmail ([
            'name'=>$request->name,
            'from_email' => $request->email,
            'data' => $request->content,
            ], 'mail.blade.php'));
         
        
         $request->session()->regenerateToken();
         
         return view('contact.send');
        
    }

view file

**confirm.blade.php**


@extends('layouts.app')

@section('content')
<div class="wrapper">
    <div class="col-sm-8">
        <form action="{{ route('contact.send') }}"  method="post">
            @csrf
            <div class="main">
                <div class="form-title"><h2 style="font-family:serif; font-weight:bolder; text-align:center;">確認画面</h2></div>
                <div class="form-group">
                    <label for="exampleFormControlTextarea1">メールアドレス</label>
                    <div class="form-control">
                        {{ $email }}
                    </div>
                </div>
                <div class="form-group">
                    <label for="exampleFormControlTextarea1">名前</label>
                    <div class="form-control">
                        {{ $name  }}
                    </div>
                </div>
                <div class="form-group">
                    <label for="exampleFormControlTextarea1">内容</label>
                    <div class="form-control">
                        {{ $content  }}
                    </div>
                </div>
            </div>
            <button type="submit" class="btn btn-success btn-lg btn-block">送信</button>
            {{ link_to_route('contact.index' , '修正する' , null , ['class'=>'btn btn-info btn-lg btn-block']) }} 
        </form>
    </div>
</div>
@endsection

来源:https://stackoverflow.com/questions/63194154/i-get-this-error-the-get-method-is-not-supported-for-this-route-supported-met

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!