【发布时间】: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') }}"请求旧的输入数据
标签: laravel session flash request octobercms