Php 获取会话密钥laravel登录事件侦听器
我正在做一个小型的拉威尔项目, 在LoginController上,我正在为已验证函数中的会话设置数据, 它保存得很好,代码如下:Php 获取会话密钥laravel登录事件侦听器,php,laravel,session,events,listener,Php,Laravel,Session,Events,Listener,我正在做一个小型的拉威尔项目, 在LoginController上,我正在为已验证函数中的会话设置数据, 它保存得很好,代码如下: protected function authenticated(Request $request) { session(['lan' => $request->input('lan')]); session(['lat' => $request->input('lat')]); } 但当我试图在侦听器中
protected function authenticated(Request $request)
{
session(['lan' => $request->input('lan')]);
session(['lat' => $request->input('lat')]);
}
但当我试图在侦听器中读取它时,我得到了一个空数据,在我的代码下面:
public function handle(Login $event)
{
$lat=app('request')->session()->get('lat');
Storage::disk ('local')->append ('lat__.txt', "lat:\r\n" . $lat);
}
有人能帮我吗?
谢谢请尝试以下方法:
use Session;
protected function authenticated(Request $request)
{
Session::put('lan',$request->input('lan'));
Session::put('lat',$request->input('lat'));
}
或者你可以:
protected function authenticated(Request $request)
{
$request->session->put('lan',$request->input('lan'));
$request->session->put('lat',$request->input('lat'));
}
在你的听众中:
use Session;
public function handle(Login $event)
{
$lat=Session::get('lat');
Storage::disk ('local')->append ('lat__.txt', "lat:\r\n" . $lat);
}
确保
lan
和lat
在经过身份验证的方法中实际存在于请求中,因为$request->input()
如果未定义它们,则返回null
。Session::set
不存在,您必须使用Session::put
。