【问题标题】:How to use session in public direcory in laravel如何在 laravel 的公共目录中使用会话
【发布时间】:2019-07-15 00:54:13
【问题描述】:

我设置了用户登录时获取用户名的会话

但是当我想在公共目录中 echo 它时,我不能 echo 并且我不知道我可以声明

在控制器中

session(['sessionName' => 'Karim']);

公开

echo $_SESSION['CKFinder_UserRole']

这给了我一个致命错误

未定义的变量

请帮助我。谢谢

【问题讨论】:

  • 你可以使用 Laravels Auth::user()->name 来获取当前登录用户的(用户)名。另外,您正在设置'sessionName',但打印'CKFinder_UserRole'?! “在公共目录中”是什么意思?
  • 很抱歉,我在问题中犯了一个错误。在 public/plugins/elfinder 我回显会话名称与控制器相同。我使用 elfinder,它的文件管理器在公共目录中,所以我想设置会话,让登录的用户可以使用文件管理器
  • 你可以使用 Laravels Auth::check() ... 检查用户是否登录
  • 所以我知道,但我在哪里可以查看?例如在管理员登录的管理员控制器中,可以看到文件管理器,但文件管理器的页面在公共目录中,它没有控制器
  • 恕我直言,public 文件夹中不应有任何“页面”,“页面”将使用视图创建。将您的页面从public 移动到控制器方法,添加路由以便您可以使用中间件等。或者,看看github.com/barryvdh/laravel-elfinder

标签: php laravel public


【解决方案1】:

你可以这样做, 在控制器中,

return back()->with('name','Hello');

在视图中,

{{ Session::get('name') }}

希望这会有所帮助:)

【讨论】:

  • 这是准确点!!!我知道如何在视图中声明,但我的页面不在 public/plugins/elfinder 中的视图中
猜你喜欢
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
  • 2018-11-19
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 2016-05-29
  • 1970-01-01
相关资源
最近更新 更多