Ссылка активации Laravel 5.8 не работает после нажатия - PullRequest
0 голосов
/ 10 апреля 2019

Я изучаю Laravel самостоятельно.Когда я подошел к фазе создания письма активации, я застрял по ссылке активации.

Я следовал инструкции в Laravel HP.Письмо было отправлено в почтовый ящик, но когда я щелкаю ссылку активации, столбец «email_verified_at» не обновляется, и меня перенаправляют на страницу входа, и ничего не происходит.

Web.php:

Auth::routes(['verify' => true]);
Route::get('home', 'HomeController@index')->name('home')->middleware('verified');
Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::get('login','Auth\LoginController@showLoginForm')->name('login');
Route::post('login','Auth\LoginController@checkLogin');
Route::get('register','Auth\RegisterController@create');
Route::post('register','Auth\RegisterController@store');
Route::get('logout','Auth\LoginController@logout')->name('logout');

User.php:

use Notifiable;

    protected $fillable = ['id','name', 'email', 'password', 'role'];

    protected $hidden = ['password', 'remember_token'];

    public function setPasswordAttribute($password)
    {
        $this->attributes['password'] = bcrypt($password);
    }

    protected $casts = [
        'email_verified_at' => 'datetime',
    ];  

RegisterController.php:

    use RegistersUsers;
    /**
     * Where to redirect users after registration.
     *
     * @var string
     */
     protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest');
    }

    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
        ]);
    }

    public function create()
    {
        return view('registration.create');
    }
    protected function store(Request $request) 
    {
        $rules = [
            'name' =>'required|unique:users,name',
            'email' =>'required|email|unique:users,email',
            'password' => 'required|min:8',
            'role' => ['required',Rule::in(['admin', 'user'])],
        ];
        $messages = [
            'name.required' => 'Username is required!',
            'email.required' => 'Email is required!',
            'email.email' => 'Email is invalid!',
            'password.required' => 'Password is required!',
            'password.min' => 'Password must have at least 8digit!',
        ];
        $validator = Validator::make($request->all(), $rules, $messages);

        if ($validator->fails()) {
            return redirect()->back()->withErrors($validator)->withInput();
        } else {

        $user = User::create([
            'name' => $request['name'],
            'email' => $request['email'],
            'password' => bcrypt($request['password']),
            'role' => $request['role'],
        ]);
        }

        $user->sendEmailVerificationNotification();

        return $user;
    }

Когда я завершу регистрацию, страница не вернется на домашнюю страницу, но покажет такой параметр (хотя БД была обновлена).

{"name":"654321","email":"111111111@yahoo.com","role":"admin","updated_at":"2019-04-10 03:40:43","created_at":"2019-04-10 03:40:43","id":49}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...