前提・実現したいこと
laravel6.0で旅行投稿サイトを制作しています。
今発生している問題は下記のconfirm.blade.phpからsend.blade.phpにpost送信してもpostで送信されないことです。
dd($request->('name'));などで確認してみましたが、nullでそのためvalidationのredirectでget methodを取っているのでこのエラーが発生していると仮定しました。
下記に試したことを載せてあります。
ご教授いただけますと幸いです。
発生している問題・エラーメッセージ
The GET method is not supported for this route. Supported methods: POST.
該当のソースコード
confirm.balde.php @extends('layouts.app') @section('content') <div class="wrapper"> <div class="col-sm-8"> <form action="{{ route('contact.send') }}" method="post" enctype="multipart/form-data"> @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
ContactController
1 public function send(ContactRequest $request) 2 { 3 4 if($request->validated()){ 5 6 $to= 'kaai06221733@gmail.com'; 7 8 Mail::to($to)->send(new Contactsendmail ([ 9 'name'=>$request->name, 10 'from_email' => $request->email, 11 'data' => $request->content, 12 ], 'mail.blade.php')); 13 14 15 $request->session()->regenerateToken(); 16 17 return view('contact.send'); 18 } 19 20 21 }
Contactsendmail
1<?php 2 3namespace App\Mail; 4 5use Illuminate\Bus\Queueable; 6use Illuminate\Contracts\Queue\ShouldQueue; 7use Illuminate\Mail\Mailable; 8use Illuminate\Queue\SerializesModels; 9 10class Contactsendmail extends Mailable 11{ 12 use Queueable, SerializesModels; 13 14 15 protected $data; 16 protected $view; 17 18 19 20 21 public function __construct($data , $view = 'mail.blade.php') 22 { 23 $this->data = $data; 24 $this->view =$view; 25 26 } 27 28 29 public function build() 30 { 31 return $this->from($this->data['from_email'], $this->data['name']) 32 ->to($this->data['to'] , $this->data['to_name']) 33 ->subject($this->data['subject']) 34 ->view('contact.mail' . $this->view) 35 ->with(['data'=> $this->data]); 36 }
試したこと
下記が試したことです。
・route::match(['get' 'post'] ,~)を使用したが同じエラー
・enctype="multipart/form-data"の挿入
・sendメソッドでContactRequestを使用する
・routeのキャッシュをクリアにする
・自作のRequest(ContactRequest)のauthorizeをtrueにする
補足情報(FW/ツールのバージョンなど)
laravel6.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。