问题
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