使用 Laravel 自带的用户系统 包括登录注册功能以及错误处理
一、默认 Laravel 不会自动帮你装上用户系统,
二、但是我们可以从默认首页的代码中看到,登录注册按钮被隐藏了
三、需要手动输入命令进行安装
php artisan make:auth
安装完成后重新刷新页面就可以到登录注册按钮了
四、可能遇到的问题
1. 当在注册页面点击注册时,一般会报如下错误,如果你没动过任何配置的话,
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select count(*) as aggregate from users where email = xxxxxx@gmail.com)
解决方法:
需要到根目录下修改 .env 文件
修改 MySQL 对应的配置参数
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
修改完成后,记得清空 laravel 的缓存
php artisan config:cache
2. 以上修改后,注册还是报错
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'fyp.users' doesn't exist (SQL: select count() as aggregate from users where email =**********)
显示不存在 users 表
解决方法:
1)可以在 database/migrations 目录下看到两个文件,这两个文件可以创建 users 表,执行命令
php artisan migrate
然后打开数据库,可以看到增加了三个新的表 users、migratiolns、password_resets
到页面进行注册登录就可以了。
2)可以自己手动创建 users 表
在数据库中添加表如下:
create table users(id serial, email varchar(50), password varchar(255), name varchar(255), updated_at timestamp, created_at timestamp);
然后重新注册登录即可