【发布时间】:2018-06-25 16:57:36
【问题描述】:
我在使用 Laravel Sessions 时遇到了一些问题,现在我在 Laravel 5.4 下工作,所以,我使用这段代码来设置会话:
$request->session()->put('usuario', 'somevalue');
但是当我尝试使用此代码从同一控制器上的另一个函数获取会话值时:
$request->session()->get('usuario');
我得到 NULL,我正在尝试导入 Session 并使用“web”中间件
use Illuminate\Support\Facades\Session;
但我仍然遇到同样的错误。
路线:
Route::group(['middleware' => 'web'], function () {
Route::post('login','UsuarioController@login');
Route::get('usuariodatos','UsuarioController@getDatos');
});
控制器,功能登录:
$data=$request->json()->all();
$user=Usuario::where('correo_electronico', $data['login_correo'])->first();
if(!empty($user->id_usuario)) {
if(Hash::check( $data['login_passwd'], $user->passwd) == true) {
$request->session()->put('usuario', $user);
$ses = $request->session()->get('usuario');
return json_encode(array("resultado" => $ses));
} else {
}
} else {
}
控制器函数获取会话:
public function getDatos(Request $request)
{
return json_encode(array("resultado"=>$request->session()->get('usuario')));
}
谁能帮帮我?
谢谢
【问题讨论】:
-
尝试在
$request->session()->put('usuario', 'somevalue');之后推送$request->session()->get('usuario');,看看是否设置了会话 -
是的,我刚刚尝试过,设置后我得到会话值没关系,但是当我转到另一条路线时,我得到 NULL
-
你能显示你的路线,控制器吗?
-
我刚刚将它添加到我的原始帖子中
-
好吧,我认为
Hash::check( $data['login_passwd'], $user->passwd) == true或!empty($user->id_usuario条件为 false ,这就是为什么您的会话没有设置值
标签: session laravel-5.4