当我遇到这个错误时,我在这个错误上遇到了困难,我的解决方案是创建新项目。我知道这个问题总是在这里问。我一行一行地跟踪了所有教程,总是出错。
注册:
@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
routes.php文件
<?php
Route::get('/', function () {
return view('welcome');
});
Route::post('/signup', [
'uses' => 'UserController@postSignUp',
'as' => 'signup'
]);
UserController的
<?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
路线。您的邮寄路线仅在您提交表格时才有效。
所以,在你的routes.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();
}
在您的刀片文件中,您分别使用名称作为用户名和密码的用户名和密码。在用户Usercontroller中,您可以分别直接访问用户的用户名和密码的$ request-> username和$ request-> password。