前提・実現したいこと
Laravel勉強し始めた初心者です。
Postでのform送信がGetになってしまって原因がわかりません。
どうすればformをPostで送信できるか、
どなたか教えていただけないでしょうか。
■バージョン
% php -v
PHP 7.3.11 (cli) (built: Jun 5 2020 23:50:40) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
% php artisan -V
Laravel Framework 5.5.50
該当のソースコード
■ routes/web.php
php
1<?php 2 3Route::get('/', 'PostsController@store'); 4Route::post('/show', 'PostsController@show');
■ app/Http/Controllers/PostsController.php
php
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\Post; 7 8class PostsController extends Controller 9{ 10 public function store(){ 11 return view('posts.store'); 12 } 13 14 public function show(Request $request){ 15 dump($_SERVER["REQUEST_METHOD"]); 16 17 dump($request->title); 18 dd($request->body); 19 return view('/'); 20 } 21}
■ resources/views/posts/store.blade.php
php
1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>New Posts</title> 8 <link rel="stylesheet" href="/css/styles.css"> 9</head> 10<body> 11 <div class="container"> 12 <h1> 13 New Posts 14 </h1> 15 <form metod="post" action="{{ url('/show') }}"> 16 {{ csrf_field() }} 17 <p> 18 <input type="text" name="title" placeholder="enter title"> 19 </p> 20 <p> 21 <textarea name="body" placeholder="enter body"></textarea> 22 </p> 23 <p> 24 <input type="submit" value="Add"> 25 </p> 26 </form> 27 </div> 28</body> 29</html>
発生している問題・エラーメッセージ
store.blade.phpのform送信ボタンクリックで以下のエラーが発生。
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException No message
試したこと
web.phpを以下のように修正して/showをgetでうけるとエラーなく実行できます。
■ routes/web.php
php
1<?php 2 3Route::get('/', 'PostsController@store'); 4Route::get('/show', 'PostsController@show');
formのtitleに「ここはtitle」、bodyに「ここはbody」を記入して送信した結果。
なぜかGETになっています。
何故でしょうか。どうすればPostできるでしょうか。
"GET" "title: ここはtitle" "body: ここはbody"
以上
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/14 15:01
2020/10/14 15:15
2020/10/14 22:26