【问题标题】:Laravel MethodNotAllowedHttpException in RouteCollection.php line 218:RouteCollection.php 第 218 行中的 Laravel MethodNotAllowedHttpException:
【发布时间】:2017-03-13 01:59:23
【问题描述】:

我是 laravel 的新手,当我遇到这个问题时,我正试图从 youtube 教程中学习。我有一个注册表单,在提交时我正在发布表单数据并尝试将其保存在我的用户表中,但那是当我在 RouteCollection.php 第 218 行收到此异常 MethodNotAllowedHttpException 时:我将不胜感激任何帮助解决此错误。下面是我的代码

我的控制器

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

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

       $user->save();
       return redirect()->back();

    }
    public function postSignIn(Request $request)
    {

    }
}

我的路由器

Route::get('/', function () {
    return view('welcome');
});
Route::post('/signup', [
    'uses'=>'UserController@postSignUp',
    'as'=>'signup'
]);

我的表格

    <form action="{{route('signup')}}" meathod="post">
         <div class="form-group">
             <label for="email">Email</label>
            <input type="email" class="form-control" id="email" name="email" placeholder="Email">
         </div>  
         <div class="form-group">
             <label for="firstname">First Name</label>
             <input type="text" class="form-control" id="first_name" name="first_name" placeholder="First Name">
         </div>  
         <div class="form-group">
            <label for="password">Password</label>
             <input type="password" class="form-control" id="password" name="password" placeholder="passwprd">
         </div>  
         <div class="form-group">
        <button type="submit" class="btn btn-primary">Sign up</button>

         </div>
       <input type="hidden" name="_token" value="{{Session::token()}}">
</form>

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    检查您打开的&lt;form&gt; 标签。

    meathod="post"
    

    应该是

    method="post"
    

    您有一个错字,因此该表单发布为GET,而不是预期的POST


    不相关,我建议使用更简单的 CSRF 输入形式

    {{ csrf_field() }}
    

    而不是

    <input type="hidden" name="_token" value="{{Session::token()}}">
    

    【讨论】:

    • 谢谢@deefour 我花了很多时间检查所有其他我没有注意错字的事情。但它现在正在工作。非常感谢
    【解决方案2】:
         <form action="{{route('signup')}}" method="post">
    {{ csrf_field() }}
                 <div class="form-group">
                     <label for="email">Email</label>
                    <input type="email" class="form-control" id="email" name="email" placeholder="Email">
                 </div>  
                 <div class="form-group">
                     <label for="firstname">First Name</label>
                     <input type="text" class="form-control" id="first_name" name="first_name" placeholder="First Name">
                 </div>  
                 <div class="form-group">
                    <label for="password">Password</label>
                     <input type="password" class="form-control" id="password" name="password" placeholder="passwprd">
                 </div>  
                 <div class="form-group">
                <button type="submit" class="btn btn-primary">Sign up</button>
    
                 </div>
               <input type="hidden" name="_token" value="{{Session::token()}}">
        </form>
    

    【讨论】:

      猜你喜欢
      • 2017-10-12
      • 2016-11-22
      • 2016-12-26
      • 2016-10-31
      • 1970-01-01
      • 2017-01-03
      • 2016-11-21
      • 2017-01-26
      • 2017-08-09
      相关资源
      最近更新 更多