2016-10-14 5 views
0

私は登録ページを作っていますし、私はデータを提出しようとすると、継続的に私はこのは、ページを作り、エラーを取得:RouteCollection.phpラインのMethodNotAllowedHttpException 218

MethodNotAllowedHttpException in RouteCollection.php line 218: 

を取得しています。 これは、データベースに送信するだけです。それはやっていない。

歓迎ブレード:

@extends('layouts.master') 
@section('title') 
Welcome!! 
@endsection 
@section('content') 
<div class="row"> 
    <div class="col-md-6"> 
     <h2>Sign Up</h2> 
     <form action="{{route('signup')}}" method="post"> 
      <div class="form-group"> 
       <label for="email">Your E-Mail</label> 
       <input class="form-control" type="text" name="email" id="email"> 
      </div> 
      <div class="form-group"> 
       <label for="name">Name</label> 
       <input class="form-control" type="text" name="name" id="name"> 
      </div> 
      <div class="form-group"> 
       <label for="password">Password</label> 
       <input class="form-control" type="password" name="password" id="password"> 
      </div> 
      <button type="submit" class="btn btn-primary">Submit</button> 
      <input type="hidden" name="_token" value="{{Session::token()}}">     
     </form> 
    </div> 

    <div class="col-md-6"> 
     <h2>Sign In</h2> 
     <form action="#" method="post"> 
      <div class="form-group"> 
       <label for="email">Your E-Mail</label> 
       <input class="form-control" type="text" name="email" id="email"> 
      </div> 
      <div class="form-group"> 
       <label for="password">Password</label> 
       <input class="form-control" type="password" name="password" id="password"> 
      </div> 
      <button type="submit" class="btn btn-primary">Submit</button>     
     </form> 
    </div> 
</div> 
@endsection 

ユーザコントローラ:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 

use App\User; 
class UserController extends Controller 
{ 
public function postSignUp(Request $request) 
{ 
    $email = $request['email']; 
    $name = $request['name']; 
    $password = bcrypt($request['password']); 

    $user = new User(); 
    $user -> email = $email; 
    $user -> name = $name; 
    $user -> password = $password; 

    $user->save(); 

    return redirect()->back(); 
} 

routes.phpの:

Route::group(['middleware' => ['web']], function(){ 

Route::get('/', function() { 
return view('welcome'); 

})。

Route::post('/signup',[ 
    'uses' => '[email protected]', 
    'as' => 'signup' 
]); 

});

ヘッダーブレード:

<header> 
<nav class="navbar navbar-default"> 
<div class="container-fluid"> 
    <!-- Brand and toggle get grouped for better mobile display --> 
    <div class="navbar-header"> 
    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-bsexample-navbar-collapse-1" aria-expanded="false"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
    </button> 
    <a class="navbar-brand" href="#"></a> 
    </div> 
</div><!-- /.container-fluid --> 

マスターブレード:

<!DOCTYPE html> 
<html> 
<head> 
<title>@yield('title')</title> 
<link href="css/bootstrap.min.css" rel="stylesheet"> 

</head> 
<body> 
@include('includes.header') 
<div class="container"> 
<div> 
@yield('content') 
</div> 
</div> 
</body> 
</html> 
+0

のようなこの後、アクションがなければなりません '/サインアップ' のようなあなたのルートは方法のいくつかのコードを追加した場合

route('signup') Route::post('/signup', '[email protected]')->name('signup'); 

ルート名を指定するのを忘れ – Komal

+0

あなたはcsrf_tokenを持っていますか? – Neat

+0

完了!@ Komal。今すぐご確認ください。 –

答えて

0

このExectiptionあなたが に直面しているいずれかのあなたはroutes.phpの OR にそのサインアップのルートを持っていけないので、投稿をしていますが、route :: get( 'signup')と書いてあります

したがって、route :: postを記述する必要があります。

+0

いいえ、どちらも私のコードで正しいです。私のコードをチェックすることができます。私は答えを編集しました。 –

+0

あなたはget requestで同じルートを使用している可能性がありますか? –

0

フォームにPATCHを使用しているので、メソッドフィールドヘルパーを追加してPUT HTTP動詞をスプーフィングする必要があります。

はフォームでこれを追加するか、 ルートで動詞として ポストを使用しています。

{{ method_field('PUT') }} 
+0

どこに追加すればよいですか?フォームアクション後のウェルカムブレードで? –

0

私たちは、HTTPメソッドを次している - 、ポストを得る置く、パッチなど

データベーステーブルにレコードを挿入しようとしているとき、私たちは、POSTメソッドの代わりに、PATCHメソッドを使用する必要がありますHTML形式で

+0

私も試しました。しかし、それはどちらも働いていません。 –

関連する問題