2017-02-18 20 views
2

Я новичок в Laravel. Я изучаю, как создать страницу регистрации пользователя. Все работает отлично, но я застрял в простой проблеме.Маршрут [регистрация] не определен в laravel

ОшибкаException в строке UrlGenerator.php 304: Маршрут [регистрация] не определен. (Вид: 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' => '[email protected]', 
    '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> 

I было бы очень важно, если бы кто-нибудь мог мне помочь. Thanks

О, Извините. Я забыл упомянуть, что я использую Laravel версия: 5.4.11

+0

Попробуйте запустить 'композитор install' и' PHP мастеровых маршрута: clear'. –

+0

Route :: post ('/ signup', ['as' => 'signup', 'uses' => 'UserController @ postSignUp']); и действие формы

использовать это, он будет работать ... – Sona

+0

Спасибо @StuartWagner Я сделал все, но он не работает :( –

ответ

1

Просто для полноты, так как ответил @StuartWagner так из Laravel 5.4 все маршруты внутри папки /routes и больше не в папке HTTP ,

Веб-маршруты находятся внутри файла /routes/web.php.

Это часто запрашивалось, так как в противном случае вам нужно было бы просмотреть три уровня в глубину, чтобы получить маршруты.

Теперь гораздо лучше, они находятся в папке /routes.

+0

Спасибо очень хорошо. –

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> 
1

Laravel обеспечивают встроенные функции аутентификации, вы вводите следующую команду в терминале после выбора проекта:

php artisan make:auth 

и вы можете использовать функцию входа в систему, зарегистрировать и изменить пароль.

ссылка:

https://laravel.com/docs/5.4/authentication 

я надеюсь, что его помощь вам

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> 
+0

Спасибо, спасли меня там –