01.下载Laravel框架,并配置网站
composer create-project --prefer-dist laravel/laravel blog // 创建项目
02.配置网站目录
生成key
php key:generate
将storage文件夹设置为可写
chmod -R 777 storage
复制.env文件
设置数据库前缀:
'prefix' => env('DB_PREFIX', ''), //设置数据库前缀
在.env中添加DB_PREFIX
DB_PREFIX=dr_
配置数据库
DB_DATABASE=news
DB_USERNAME=dog
DB_PASSWORD=123456
03.登录逻辑
A.加入验证码程序
验证码的引入,点击进入
B.验证码验证方法
路由写法:
Route::group(['prefix'=>'admin','namespace'=>'Admin','middleware'=>'web'],function(){
Route::any('login','LoginController@login'); // 修改成了any方便接受
Route::get('code','LoginController@code'); // 验证码生成
Route::get('getcode','LoginController@getCode'); // 获取验证码
});
前端表格输入,必须引入{{ csrf_field() }}:
@if (session('msg'))
注意:{{ session('msg') }}
@else
Enter your username and password to log on:
@endif
后端代码,接受使用Input方法,引入
back()是返回,with后面接参数,默认session存储
use Illuminate\Support\Facades\Input;
详细代码如下:
namespace App\Http\Controllers\Admin;
use Illuminate\Support\Facades\Input;
class LoginController extends CommonController
{
public function login(){
if ($input=Input::all()) {
if (strtoupper($input['vcode'])!=session('code')) {
return back()->with('msg','验证码错误!');
}
} else {
return view('admin.login');
}
}
}
C.创建用户表并插入一条数据
使用Laravel命令创建user表,点击查看
D.创建Model处理数据
在Http/Model/Admin中创建User的模型:
php artisan make:model Http/Model/Admin/User
模型代码如下:
namespace App\Http\Model\Admin;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table='user'; // 表名
protected $primaryKey='user_id'; //主键
public $timestamp=false; // 默认不使用时间戳
}
E.登录代码
获取表单的数据,先判断验证码,然后根据用户名判断密码是否正确,如果正确,将数据存入session:
public function login(){
if ($input=Input::all()) {
if (strtoupper($input['vcode'])!=session('code')) {
return back()->with('msg','验证码错误!');
}
$user = User::where('username',$input['username'])->first();
if (!$user || $user&&Crypt::decrypt($user->password)!=$input['password']) {
return back()->with('msg','用户名或密码错误!');
}
session(['user'=>$user]); //登录成功后写入session
return redirect('admin.index'); // 跳转到后台主页
} else {
return view('admin.login');
}
}
04.引入后台模板文件
参考Laravel基本命令中有关模板的部分,点击跳转
05.权限控制,退出登录状态
后台必须登录以后才能访问,这里需要添加中间件
A.在Kernel.php中添加admin.login
'admin.login' => \App\Http\Middleware\AdminLogin::class, // 创建admin.login 中间件
B.路由写法如下:
Route::group(['prefix'=>'admin','namespace'=>'Admin','middleware'=>'web'],function(){
// 登录页面
Route::any('login','LoginController@login');
Route::get('code','LoginController@code'); // 验证码生成
});
Route::group(['prefix'=>'admin','namespace'=>'Admin','middleware'=>['web','admin.login']],function(){
// 后台主页面
Route::any('index','IndexController@index');
Route::any('info','IndexController@info'); // 信息显示
});
C.生成midddleware文件
php artisan make:middleware AdminLogin
通过判断登录成功后session('user')的值判断是否登录成功
namespace App\Http\Middleware;
use Closure;
class AdminLogin
{
public function handle($request, Closure $next)
{
// 登录成功后会传入session('user')信息
if (!session('user')) {
return redirect('admin/login');
}
return $next($request);
}
}
D.退出登录状态
路由中加入:
Route::group(['prefix'=>'admin','namespace'=>'Admin','middleware'=>['web','admin.login']],function(){
Route::any('logout','LoginController@logout'); // 退出
});
控制器中添加
public function logout(){
session(['user'=>null]);
return redirect('admin/login');
}
06.修改密码
点击进入修改密码页面,参考代码如下:https://www.cnblogs.com/carious/p/11353001.html
07.创建文章
A.Laravel创建文章分类
点击进入文章分类,参考代码如下:https://www.cnblogs.com/carious/p/11353823.html