【问题标题】:How to store variable in session codeigniter如何在会话codeigniter中存储变量
【发布时间】:2014-04-15 08:46:49
【问题描述】:
我想将变量存储在会话中,目前我正在尝试这样但不工作。
在控制器中
<?php
session_start();
$_SESSION['myvar']='myvalue';
?>
【问题讨论】:
标签:
php
codeigniter
session
session-variables
【解决方案1】:
您不必以 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');
【解决方案2】:
简单:
首先,加载这个库
$this->load->library('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
如果你觉得这很有用,别忘了点赞并标记为已解决:)
【解决方案3】:
我考虑将我的会话数据存储在控制器中。所以这就是你应该如何存储和检索会话数据
1.在 config.php 文件中使用自动加载。它可以节省您的时间和加载时间
autoload['libraries'] = ('session);
2.在你的controller.php中创建一个数组来存储你的会话数据。
$new_data = array('username' => 'martin',
'电子邮件' => 'someone@martin.com',
'user_logged => 真);
$this->session->set_userdata($new_data);
- 然后这是调用会话数据的方法(创建一个变量并为其分配您需要的会话数据之一的值):
$username = $this->session->userdata('username');
如需进一步参考,请访问 codeigniter user_guide/sessions
【解决方案4】:
代码点火器
在会话中设置
$newdata = array(
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
从会话中检索
$this->session->userdata('username');