Use*_*r57 6 php session laravel laravel-5
我想在会话中存储一些数据用于某些测试目的.我也在控制器中编写了会话代码.但是在console.log - > resources - > session中我找不到任何存储的值.如果有人帮我找到我在控制器中所犯的错误,请.
这是我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Department;
use App\Http\Requests;
use Cookie;
use Tracker;
use Session;
public function postdepartmentSave(Request $request)
{
$this->validate($request,[
'code' => 'required|min:2|max:7|unique:departments',
'name' => 'required|unique:departments',
]);
$department = new Department();
$department->code = $request->Input(['code']);
$department->name = $request->Input(['name']);
$name= $department->name;
Session::put('name', $name);
dd($name);
$department->save();
return redirect('departmentSavePage');
}
Run Code Online (Sandbox Code Playgroud)
Tom*_* Wu 22
要存储数据,您可以使用:
Session::put('variableName', $value);
Run Code Online (Sandbox Code Playgroud)
通过全球帮助者还有另一种方式:
session(['variableName' => $value]);
Run Code Online (Sandbox Code Playgroud)
要获得变量,您可以使用:
Session::get('variableName');
Run Code Online (Sandbox Code Playgroud)
你没有犯错编码.问题是你在服务器端会话和HTML5的sessionStorage之间有点混淆.
在Resources->Session Storage
Chrome开发者工具视图只显示你存储在HTML5的sessionStorage对象的信息.这是通过客户端javascript访问的客户端会话信息,并且与任何类型的服务器端会话信息完全分开.
例如,sessionStorage.setItem('key', 'value');
在您的javascript控制台中运行,您将看到数据显示在Resources->Session Storage
视图中.
您的PHP/Laravel代码正在处理服务器端会话.此信息不会显示在任何类型的"开发人员工具"视图中,因为它不应由客户端工具访问.默认情况下,Laravel使用基于文件的会话存储,这意味着您的会话信息存储在服务器上的文件中(in storage/framework/sessions
).即使您将会话存储更改为使用cookie,会话信息也将被加密,以便客户端无法读取数据.这是出于安全目的.
您可以在此处阅读有关Laravel会话的更多信息.
您可以在此处阅读有关HTML5 sessionStorage的更多信息.
归档时间: |
|
查看次数: |
45947 次 |
最近记录: |