我想将变量存储在会话中,目前我正在尝试这样但不起作用。
在控制器
中<?php
session_start();
$_SESSION['myvar']='myvalue';
?>
答案 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);
$ 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');