我是Laravel的新手。我正在学习如何创建用户注册页面。一切正常,但我陷入了一个简单的问题。
UrlGenerator.php第304行中的ErrorException: 路线[注册]未定义。 (查看:C:\ Program Files(x86)\ Ampps \ www \ social \ resources \ views \ welcome.blade.php)
但我定义了注册路线。这是我的 routes.php 文件
Route::get('/', function () {
return view('welcome');
})->name('home');
Route::post('/signup', [
'uses' => 'UserController@postSignUp',
'as' => 'signup'
]);
这是我的 UserController.php
class UserController extends Controller
{
public function postSignUp(Request $request)
{
$email = $request['email'];
$first_name = $request['frist_name'];
$password = bcrypt($request['password']);
$user = new User();
$user->email = $email;
$user->frist_name = $first_name;
$user->password = $password;
$user->save();
return redirect()->back();
刀片文件 welcome.blade.php
<form action="{{ route('signup') }}" method="post">
<div class="form-group">
<label for="email"> Your E-mail </label>
<input class ="form-control" type="text" id="email" name="email" >
</div>
如果有人能帮助我,我会非常感激。 感谢
哦,抱歉。我忘了提到我使用 Laravel版本:5.4.11
答案 0 :(得分:3)
您可以将{{route('/signup')}}
更改为{{URL('/signup')}}
<form action="{{ URL('signup') }}" method="post">
<div class="form-group">
<label for="email"> Your E-mail </label>
<input class ="form-control" type="text" id="email" name="email" >
</div>
答案 1 :(得分:1)
laravel提供内置的auth功能,在选择项目后在终端中键入以下命令:
php artisan make:auth
您可以使用登录,注册和更改密码功能。
参考:
https://laravel.com/docs/5.4/authentication
我希望它可以帮助你
答案 2 :(得分:1)
仅仅为了完整性,正如@StuartWagner自Laravel 5.4以来回复的所有路由都在/routes
文件夹内,而不再在HTTP
文件夹内。
网络路由位于/routes/web.php
文件中。
这经常被要求,否则你需要深入浏览三个级别才能获得路线。
现在好多了,它们位于/routes
文件夹中。
答案 3 :(得分:0)
尝试
<form action="/signup" method="POST">
<div class="form-group">
<label for="email"> Your E-mail </label>
<input class ="form-control" type="text" id="email" name="email" >
</div>
答案 4 :(得分:0)
我知道它有些旧了,但想贡献一点:)
$("table#myTable tr td").on('click', function() {
let index = $(this).index();
$(`#myTable tr td:nth-child(${index + 1})`).addClass('td-active');
});
为路线添加名称
Route::post('/signup', [uses' => 'UserController@postSignUp','as' => 'signup']);
在刀片模板中使用路径时,必须给路径指定名称以标识
Route::post('/signup', [uses' => 'UserController@postSignUp','as' => 'signup'])->name(signup);