会话数据未保存在插件控制器十月 CMS 中
Posted
技术标签:
【中文标题】会话数据未保存在插件控制器十月 CMS 中【英文标题】:Session data not saved in plugin controller October CMS 【发布时间】:2020-06-05 00:07:20 【问题描述】:在 10 月 CMS 的下一个请求中,会话不包含先前设置的数据。
我所做的是: 我正在尝试在 10 月 CMS 中使用插件控制器的操作方法将数据放入会话中。
\Session::put('name', 'Test Name');
\Session::keep(['name']);
var_dump(\Session::get('name'));
之后我重定向到我的应用程序的特定页面
return \Redirect::to('/created');
在此页面中加载了一个组件,该组件应该显示数据。 但是,当我尝试访问此组件后端的会话数据时
var_dump(\Session::get('name')); echo '<br>';
会话根本不包含我之前放置的数据。
我已经
-
检查'/storage/framework/sessions'文件夹是否可写。
会话是否已开始。
检查控制器动作和下一页(组件)之间是否没有其他请求。
设置更长的会话生命周期。
检查它是否是“正确的”会话,因为它包含中间件设置的数据。
还尝试同时添加 Flash 消息:
session()->flash("message", "Registered successfully");
或
\Flash::success('Settings successfully saved!');
或
return \Redirect::to('/created')->with('message', 'Registered successfully');
我的控制器类位于以下文件夹结构中: Plugin controller
动作方法如下:
public function create(\HttpRequest $request)
// When robot
if($request->input("recaptcha") != "success")
// Sets a successful message
session()->flash("message", "Registered successfully");
session()->flash("status", "Success");
session()->flash("alert-class", "alert-success");
\Session::put('name', 'Test Name');
return \Redirect::to('/created');
有人可以帮忙吗?
【问题讨论】:
你能用代码分享你的action method of a plugin controller
的信息吗:)
@HardikSatasiya 我添加了插件控制器文件夹结构和具体控制器动作方法。
@HardikSatasiya 我觉得我的(闪存)会话有些问题,因为当使用return \Redirect::back()->withInput($request->all());
返回时,我也无法使用value=" form_value('fname') "
请求旧的输入数据
【参考方案1】:
我知道这个回复迟了,但我遇到了完全相同的问题,经过多次尝试,我发现了问题所在。您必须在 web
中间件中对路由进行分组,如下所示:
Route::group(['middleware' => ['web']], function ()
// your routes here
);
【讨论】:
以上是关于会话数据未保存在插件控制器十月 CMS 中的主要内容,如果未能解决你的问题,请参考以下文章