如何在laravel 5.6中检索会话



编辑功能

public function editNotice(Request $request,$id=null){
if(Session::has('idSession')){
if($request->isMethod('post')){
$data = $request->all();
$test = $data['death_name'];
Session::put('death_name',$test);

} else {
return redirect('/user')->with('flash_message_error','Please Login First to access..');
}
}

verifyEditNotice函数

public function verifyEditNotice(Request $request,$id=null){
$new = Session::get('death_name');
echo $new;die;
}

我已经在编辑功能的会话中保存了死亡名称,我想在验证编辑功能中检索会话值。

但问题是,当我检索时,它显示为null。

如何获取另一个函数中的值。。

根据laravel文档,您可以获得如下

public function verifyEditNotice(Request $request,$id=null){
$session_value = $request->session()->get('death_name');
dd($session_value); // debug it and die 
}

此外,laravel还为您提供调试函数dd();,它将调试提供的变量,因此您不需要使用die()

Laravel提供辅助函数,其中一个是session()

示例:

session()->flash('success', 'This is a flash message!');
or in your case
session()->get('death_name');

尝试使用dd((转储变量,这是Laravel框架中另一个非常有用的辅助函数。

public function editNotice(Request $request,$id=null){
if(Session::has('idSession')){
// 1. First try
dd($request->all());  //check if control gets to this line

if($request->isMethod('post')){
// 2. Second try 
dd($request->all());  // check if control gets to this line
$data = $request->all();
$test = $data['death_name'];
// Session::put('death_name',$test);
$request->session()->put('death_name', $test);

///////////////////// 3. Third try
dd(session('death_name')); // check if control gets to this line
} else {
return redirect('/user')->with('flash_message_error','Please Login First to 
access..');
}
}

使用以上代码调试:

如果进入步骤3,并且仍然得到空

转到您的{project_root}/storage文件夹并授予775www-data的权限和所有权

使用以下命令:

{project_root}> sudo chown -R www-data:www-data storage/

{project_root}> sudo chmod -R 775 storage/

如果以上不起作用,请尝试使用777

如果777也不工作

验证您的配置。

https://laravel.com/docs/5.7/session#configuration

相关内容

  • 没有找到相关文章

最新更新