gpt4 book ai didi

php - CodeIgniter session 中的 user_data 用来做什么?

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:54 24 4
gpt4 key购买 nike

当我在 CodeIgniter 中运行 var_dump($this->session->all_userdata()); 它打印

array (size=5)
'session_id' => string '3403084ad9f5e2582a8d9269ceb68fb7' (length=32)
'ip_address' => string '127.0.0.1' (length=9)
'user_agent' => string 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)' (length=64)
'last_activity' => int 1365456079
'user_data' => string '' (length=0)

由于这些值由 CI 自动填充,我想知道我是否可以/应该覆盖 user_data 索引,例如 'user_data' => $username。

如果 CI 不断更新这个索引,这将不起作用。比我必须用我自己的索引存储我的 session 数据。任何有 CI 经验的人都知道 session 数组中的这个固定索引的用途。没有它的文档。

最佳答案

user_data 字段用于所有额外的 session 参数

一旦你想放置一个 session 值,你可以这样做:

$this->session->set_userdata('x','y');

然后 userdata('x') 存储在 session 的 user_data 数组键中,其值为 y

所以你在 session 中的 user_data 键现在看起来像(或类似的东西 :D ):

'user_data' => ['x'=>'y']

所以肯定,是的,您将覆盖 user_data 的值,只需设置一些您需要/想要的 session 值

关于文档中的 user_data 字段的更多信息似乎是 CI 用来存储 session 参数的 db 字段: http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

在 system7libraries/session.php 中,没有大的 user_data 痕迹,只是这些行:

// Run the update query
$this->CI->db->where('session_id', $this->userdata['session_id']);
$this->CI->db->update($this->sess_table_name, array('last_activity' => $this->userdata['last_activity'], 'user_data' => $custom_userdata));

这似乎正在更新一个名为 user_data 的数据库字段,它(似乎)与 session 数据库相关

关于php - CodeIgniter session 中的 user_data 用来做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15889344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com