【问题标题】:passing an id in session in codeigniter在 codeigniter 的 session 中传递一个 id
【发布时间】:2012-02-06 15:14:12
【问题描述】:

我想将 id 传递给会话:在我看来,我正在尝试执行以下操作:

$editThisUser = array(
    'editThisUser' => $user['id']
);

$this->session->set_userdata($editThisUser);

我正在尝试像这样在我的控制器中读取这些数据:

$editWhat = $this->session->userdata('editThisUser');
echo $editWhat;

我一直在输入错误的用户 ID。我猜这是因为我正在使用用户数据来跟踪用户是否登录:

这是我的控制器中的内容,用于检查用户凭据:

$data = array(
    'username'       => $this->input->post('username'),
    'isUserLoggedIn' => true
);    
$this->session->set_userdata($data);

现在,每当我尝试阅读

$editWhat = $this->session->userdata('editThisUser');
echo $editWhat;

我正在获取登录用户的 ID??!!!

有人可以帮忙吗??

编辑> 明天我将发布整个代码,我想我没有很好地解释我想要实现的目标。

问候,卓然

【问题讨论】:

  • 你得到了什么“错误的 id”? 0?随机整数?另外,您是否加载了会话库?
  • 我得到了一个已经登录用户的 id。这是后台,我正在尝试编辑用户。我不想通过 get 传递用户 ID,我正在尝试将用户 ID 添加到会话变量中。我猜这个问题是因为我已经使用会话来跟踪哪个用户登录了

标签: codeigniter


【解决方案1】:

猜想:您在查询中加入了两个表,并得到了错误表的 id?抱歉,需要更多信息才能提供更好的建议...

//Trying these might help you pinpoint the source of the problem
var_dump($this->session->all_userdata());
var_dump($whatever_result_set_contains_your_user_info);

这将非常详细地显示您会话的所有用户数据,因此您将能够查看您的用户数据是否正确更新。明天会检查更多信息:)

【讨论】:

  • 没有。这是我登录的后台,会话正在跟踪我的用户名,如果我登录了。现在,我列出了所有用户,并且我有编辑选项。在那里,我试图传递所有用户 ID,并且我想将用户 ID 添加到会话变量中。它可以工作,但我总是得到记录的用户 ID,而不是我试图编辑的用户。
猜你喜欢
  • 1970-01-01
  • 2017-08-06
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多