Php Laravel会话数据未老化

Php Laravel会话数据未老化,php,laravel,Php,Laravel,我不完全确定标题是否正确,因为我还不知道我是如何解决这个问题的 我所拥有的: 具有2个字段的简单模型 积垢控制器 在创建/编辑时,我处理数据并用一些信息重定向。信息通过以下两种方法之一传递: session()->flash(“键”、“信息”) redirect()->route(“route.name.here”)->带有(“key”、“info”) 我(在布局刀片文件的底部)添加了一行代码,以查看会话中存储的内容,希望能够了解出了什么问题 @dd(session()->al

我不完全确定标题是否正确,因为我还不知道我是如何解决这个问题的

我所拥有的:

  • 具有2个字段的简单模型

  • 积垢控制器

  • 在创建/编辑时,我处理数据并用一些信息重定向。信息通过以下两种方法之一传递:

    • session()->flash(“键”、“信息”)
    • redirect()->route(“route.name.here”)->带有(“key”、“info”)
我(在布局刀片文件的底部)添加了一行代码,以查看会话中存储的内容,希望能够了解出了什么问题

@dd(session()->all(),session("_flash"),session("key"))
我的实际问题是什么?我一次又一次地得到同样的信息

  • 创建新实例并对用户进行闪存确认
  • valdiation返回错误消息
无论发生哪种情况,我都会在每次连续的页面调用中再次获得返回的信息。如果我做了一些事情来获取一条新消息,该消息将取代旧消息,并在我网站的每个页面上与我保持联系。(即使是只提供一些“lorem ipsum”文本的主页) 如果最后的信息是由于验证失败而导致的错误,我也会保留旧的输入。 索引页仅加载实例并加载视图文件(包含数据)。 例如,切换索引文件的页面(我使用文档中的laravels分页),由于转储输出,我可以看到“会话”中没有任何更改(包括带有键“_token”的条目)。我认为这个应该更改,但我目前无法与工作站点进行检查。用于创建新实例(模型)的表单包含在索引页中(带内联表单的引导卡头,因为它只需要1个字段)

我已经试过什么了

  • 清除缓存
  • 删除会话文件(重新创建会话文件)
  • 重新启动apache
  • 重新启动服务器(类似于raspberry pi)
我想不出我是怎么做到的,我希望能得到一些建议

系统:

  • PHP:7.3.0alpha4
  • 拉拉维尔:5.6.29
  • 会话处理:文件
  • 操作系统:Ubuntu 18.04.1 LTS
编辑: 我可以使用不同的laravel安装来检查
\u令牌
键,并且值会随着每次页面加载而变化。在我看来,会话处理有一个问题,但我不知道在哪里,因为它只有部分问题(写一些新的东西显然是有效的,但改变似乎遇到了问题)

Edit2:


如我所示,您在session laravel文档中缺少一些详细信息

首先,如果在您的两种方法
(创建、编辑)
中使用
重定向
,则最好将
一起用于flash会话消息,如下例所示:

 return redirect('route.name')->with('status', 'your message here');
有关函数如何工作的更多信息,请查看

接下来,在blade模板中,您应该在该会话变量上创建一个测试(如果该变量存在或不存在),然后显示它。下面的代码将显示如何使用会话laravel Facade实现这一点:

@if(Session::has('key'))
    {{ Session::get('key') }}
@endif

如果您对session facade感兴趣,您可以找到如何使用session facade。我尝试了
session()->flash(…)
,因为我丢失了信息(在视图文件中重定向后)。我的测试看起来和你的完全一样(除了我使用了helper函数而不是facade-AFAIK,它没有什么区别)。我的问题不在于没有“闪现”数据,而是数据在闪现后没有被删除(我说的不是2次而是x次,这意味着10次或100次或更多)。我使用的是带('key','info')的
redirect()->route('route.name',['param'=>$value])->
因为我找不到任何可以直接将其传递给重定向函数的提示。向用户显示数据不是我的问题。我的问题是,我有你链接的代码(用于显示flash数据),它会显示在随后的每个页面加载上,而不仅仅是下一个页面加载上。你能分享一下你的创建和编辑方法吗?我猜你在这些方法中做错了。这是我之前说过的:创建表单是索引页面的一部分(右上角),这是一个(确保权限没有问题)我的Web服务器运行的用户与我用于ssh的用户相同。没有任何更改:(尝试使用redis作为会话驱动程序:仍然没有更改。因此…没有权限问题。必须在代码中的某个位置。我不知道它可能在哪里。