最近用laravel开发一个网站,这是第一次用laravel框架,所以也走了不少弯路。
我的php版本是5.5.框架版本是5.2,我在使用session来作为用户是否登陆。
我在route里面写了
Route::get()
然后在前台页面里面写
@if(Session::has('login'))
<button>退出</button>
@endif
//实现退出功能的代码暂且不写。
然后我发现无论我怎么登陆,都无法显示退出按钮,我也查了关于session的使用方法。
Session::put('login','1')
然后取出
Session::get('login')
结果显示的一直是null,也就是无法访问session
但是在同一个控制器方法中就可以,比如定义了一个function
{
Session::put('login','1')
dd(Session::get('login'))
}
最后找到了问题所在
只需要在访问入门加一个web的中间件就可以了。
或者可以这样写
Route::group(['middleware'=>'web'],function() {
Route::post('user','user@group');//把需要用到session的路由请求全部放在web组里。
});