如何在会话codeigniter中存储变量

时间:2014-04-15 08:46:50

标签: php codeigniter session session-variables

我想将变量存储在会话中,目前我正在尝试这样但不起作用。

在控制器

<?php
session_start(); 
$_SESSION['myvar']='myvalue';
?>

4 个答案:

答案 0 :(得分:12)

您不必以PHP的方式设置会话。

CodeIgnter在Session Class

加载会话库:

$this->load->library('session');

设置会话数据:

$this->session->set_userdata('some_name', 'some_value');

要检索会话数据:

$this->session->userdata('some_name');

删除会话数据:

$this->session->unset_userdata('some_name');

答案 1 :(得分:11)

简单:

首先,加载此库

$this->load->library('session');

然后,在session中添加一些信息:

$newdata = array(
                   'username'  => 'johndoe',
                   'email'     => 'johndoe@some-site.com',
                   'logged_in' => TRUE
               );

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

接下来,如果您想获得值:

$session_id = $this->session->userdata('session_id');

并删除:

$this->session->unset_userdata('some_name');

简单的搜索“codeigniter session”可以帮助你......

https://www.codeigniter.com/user_guide/libraries/sessions.html

如果您觉得有用,请不要忘记upvote并标记为已解决:)

答案 2 :(得分:2)

我考虑将会话数据存储在控制器中。这就是你应该如何存储和检索会话数据

1.在config.php文件中使用自动加载。它可以节省您的时间和加载时间

  

autoload [&#39; libraries&#39;] =(&#39; session);

2.在你的controller.php中创建一个数组来存储你的会话数据。

  

$ new_data = array(&#39;用户名&#39; =&gt;&#39;马丁&#39;,                      &#39;电子邮件&#39; =&GT; &#39; someone@martin.com' ;,                      &#39; user_logged =&gt;是的;

     

$这 - &GT;会话而&GT; set_userdata($ NEW_DATA);

  1. 然后,这是如何调用会话数据(创建变量并为其分配您需要的会话数据之一的值):
  2.   

    $ username = $ this-&gt; session-&gt; userdata(&#39; username&#39;);

    如需进一步参考,请访问codeigniter user_guide/sessions

答案 3 :(得分:0)

在会话中设置

$newdata = array(
                   'username'  => 'johndoe',
                   'email'     => 'johndoe@some-site.com',
                   'logged_in' => TRUE
               );

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

从会话中检索

$this->session->userdata('username');