为了账号安全,请及时绑定邮箱和手机立即绑定

我如何在 codeigniter4 中使用 set_userdata 来添加会话数据

我如何在 codeigniter4 中使用 set_userdata 来添加会话数据

PHP
Qyouu 2023-09-15 21:15:05
我正在将 codeigniter 2 迁移到 codeigniter 4。我面临着很多差异。例如 set_userdata。它在 codeigniter 4 中不可用。我如何在 codeigniter4 中使用 set_userdata ,就像 codeigniter 2 一样。请帮忙
查看完整描述

4 回答

?
MM们

TA贡献1886条经验 获得超2个赞

根据CI 文档建议您。初始化会话通过

$session = \Config\Services::session($config); // $config is optional here

然后,


$newdata = [

        'username'  => 'johndoe',

        'email'     => 'johndoe@some-site.com',

        'logged_in' => TRUE

];


$session->set($newdata);

或者


$session->set('some_name', 'some_value');


查看完整回答
反对 回复 2023-09-15
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

让我尝试用简单的方法向您解释。在 CI4 中,您需要初始化会话库


在控制器中


$session = \Config\Services::session();

$sessionData = [

    'username' => 'John Doe',

    'phone' => 123545678,

    'role' => 'Teacher',

    'status' => 'Active'

];

$session->set($sessionData);

读取数据很简单


echo $session->get('username');


查看完整回答
反对 回复 2023-09-15
?
哔哔one

TA贡献1854条经验 获得超8个赞

你好,如果我能理解你的问题。您想要设置会话数据。以下是您将采取的措施来解决这个特定问题。使用任何这些session()或加载会话库service('session')


$session = session();

$session->set('data_index', $data);


查看完整回答
反对 回复 2023-09-15
?
繁花如伊

TA贡献2012条经验 获得超12个赞

从文档来看,

您可以简单地将数据分配给 $_SESSION 数组,就像任何其他变量一样。或者作为 $this->session 的属性。


或者,也可以使用将其分配为“userdata”的旧方法。然而,将包含新数据的数组传递给 set_userdata() 方法。


看起来您可以将set命令与数组一起使用。


$newdata = [

        'username'  => 'johndoe',

        'email'     => 'johndoe@some-site.com',

        'logged_in' => TRUE

];


$session->set($newdata);

或像这样使用它来设置单个值


$session->set('some_name', 'some_value');


查看完整回答
反对 回复 2023-09-15
  • 4 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信