Laravel NotFoundHttpException in RouteCollection.php line 16


Laravel NotFoundHttpException in RouteCollection.php line 161:

当我遇到此错误时,我很难遇到此错误,我的解决方案是创建新项目。我知道这个问题总是在这里问。我逐行遵循所有教程,并且总是错误。

登记:

 @extends('layouts.master')
 @section('content')
  <div class="col-md-6">
    <form method="POST" action="{{ route('signup') }}">
        <div class="form-group">
            <input type="text" name="username" placeholder="Username" class="form-control"></input>
        </div>
        <div class="form-group">
            <input type="password" name="password" placeholder="Password" class="form-control"></input>
        </div>
        <div class="form-group">
            <input type="submit" value="Submit" class="btn btn-primary pull-right"></input>
            <input type="hidden" name="_token" value="{{ Session::token() }}"></input>
        </div>
    </form>
</div>
@endsection

路线.php

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

用户控制器

 <?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){
    $username = $request['username'];
    $password = bcrypt($request['password']);
    $user = new User();
    $user->username = $username;
    $user->password = $password;
    $user->save();
    return redirect()->back();
  }
}

我没有看到您的表单的get路线。只有当您提交表单时,您的邮寄路线才有效。

所以,在你的路线.php中,应该有类似的东西

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

而且,在UserController@getSignUp中,您只需加载窗体的视图。

//你的刀片文件没问题,你可以使用它

/

/你的路线

Route::get('/signup', function () {     //route1 to view form
    return view('signUp');
});
Route::post('/signup', [               // route2 to handle form request
    'uses' => 'UserController@postSignUp',
    'as' => 'signup'
]);

要查看您的表单,您必须使用 get 方法,该方法是 route1,提交表单后,您的 postSignUp 方法将重定向到 获取路由,即 route1。

您的控制器

public function postSignUp(Request $request){
$username = $request->username;      //to access username 
$password = bcrypt($request->password); //to access password

$user = new User();
$user->name = $username;
$user->password = $password;
$user->save();
return redirect()->back();
}

在刀片式服务器文件中,您可以使用名称作为用户名和密码作为用户名和密码 respectively.so 在用户用户控制器中,您可以分别以用户用户名和密码的$request>用户名和$request->密码直接访问它们。