php的CI框架,如何使用session

如题所述

里面有两种session的使用方法:
1是php的原始的session使用方法,这个很简单,$_SESSION['name']="name",然后在需要的地方显示:echo $_SESSION['name'];
2是codeigniter这个框架的一个方法:
下面就详细讲解如何使用这个有点点复杂的方法:
首先,在\ci\application\config下面的config.php文件中找到:$config['encryption_key'] = '';这个里面随便填什么值都可以,但是不能为空。一般是英文啊,不要钻牛角尖。
接着在\ci\application\config下面的auto.php文件中找到:$autoload['libraries'] = array('');里面要填写:$autoload['libraries'] = array('session');或者在适当的地方如control文件夹里面的相应文件中(一般是在构造方法中)写:$this->load->library('session');这样也行。
现在环境配置好了,现在就是写代码了:
在需要放入session的地方写:
$this->session->set_userdata('name','yang');
这样session里面就有了值了。
显示值:
echo $this->session->userdata('name');
如果是array,则:
$newdata = array(
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
以下是转载的别人的详细的有点废话的相关知识:
Sessions会在每个页面载入后开始运行,所以session类必须首先被初始化。

1、您可以在控制器中初始化,也可以在系统中自动加载(译者注:在autoload.php设定)$autoload['libraries'] = array('session');

2、要在您的控制器构造函数中初始化session类,您可以使用 $this->load->library 函数:$this->load->library('session');一旦被载入, session就可以这样使用: $this->session。
session类的绝大部分都会在后台运行,所以初始化session时,它session数据会被自动读取、创建和更新。

Sessions 是怎样工作的?
需要知道的非常重要的一点就是,session类一旦被初始化,它就会自动运行。对于后面的事情,您可以完全不作理会。正如您将会在下面看到的一样,您可以正常使用session来工作,甚至还可以添加自己的session数据,而在这一切的过程中,读、写和更新的操作都是自动完成的。

当页面载入后,session类就会检查用户的cookie中是否存在有效的session数据。如果session数据不存在(或者已经过期),那么就会创建一个新的session并把他保存在cookie中。如果session数据存在,那么他的信息就会被更新,同时cookie也会被同时更新。每次更新都会重新生成session_id的值。

默认情况下, Session Cookie 每隔 5 分钟才会更新一次,这样会减少对处理器的负荷。如果你重复的装载页面, 你会发现"上次活动"的时间在五分钟,或多余五分钟的时候才会变化,也就是 cookie上次被写入的时间。 这个时间可以通过设置 application/config/config.php 文件里的 $config['sess_time_to_update'] 行来改变。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-04-05
$this->load->library('session');//加载session类
$this->session->set_userdata($array);//保存session
$name = $this->session->userdata('name'); //读取session

希望我的回答可以帮助到你

本回答被提问者采纳

php的CI框架,如何使用session
1是php的原始的session使用方法,这个很简单,$_SESSION['name']="name",然后在需要的地方显示:echo $_SESSION['name'];2是codeigniter这个框架的一个方法:下面就详细讲解如何使用这个有点点复杂的方法:首先,在\\ci\\application\\config下面的config.php文件中找到:$config['encryption_key'] = '';...

在php的ci中session载入$this
admin_array = array('admin'=>'xxxxx');this->session->set_userdata($admin_array);使用的时候可以这样取出来 admin = $this->session->userdata('admin');

用php的CI框架怎么写登录和注册
\/\/第三种设置cookie的方式:通过CI框架的cookie_helper.php函数库文件 \/\/这种方式不是很灵验,建议大家采取第二种方式即可 \/\/set_cookie("username",$user_info['username'],3600);\/\/echo get_cookie("username");\/\/session登陆时使用:将用户名和用户id存入session中 \/\/$data['username']=$user...

php ci框架怎么利用session在页面跳转后判断用户是否登录
和其他的一样,你先把登录成功信息,用户名,保存在sesion,当然可以保存在ci session但是是cookie,记得加密,跳转以后,判断sesion值是不是存在用户名,登录成功没就可以了,记得是并||

CI框架如何实现自动登录功能呢?
默认session是保存为cookie,默认时间是7200s,你可以这样保存你的登陆信息$this->session->set_userdata('logininfo',$logininfo);你可以在全局这样取得你的登陆信息$logininfo = $this->session->userdata('logininfo');记住,如果存有密码等敏感信息,记得在配置config的时候把是否加密cookie设置为TRUE...

ci(CodeIgniter)开启session提示一下错误
在config.php里面:config['sess_driver'] = 'files';$config['sess_cookie_name'] = 'ci_session';$config['sess_expiration'] = 7200;$config['sess_save_path'] = NULL;$config['sess_match_ip'] = FALSE;$config['sess_time_to_update'] = 300;$config['sess_regenerate_destroy']...

php CI框架,一个function生成session,另一个调用session为空,求大神...
CI框架的session是不可靠的, 他把session经过序列化或加密后,保存在cookie里;某些原因, 在并发连接时, 比如IE浏览器, CI的session类就会重新生成 session_id; 导致原有的session丢失; 建议采用PHP原生session(即保存在session文件或memecache);

ci中能用isset吗
数据库设计 1.1.由简单到复杂 1.2.使用外键,方便理清表间关系 1.3.使用定长表提高性能,把不常用字段另存一个一对一关系表,如user的user_extra表保存如qq、msn等信息 2.CI框架 2.1.MVC 代码合理分层,提高程序可读性和维护性 C:响应和处理用户请求,体现执行逻辑 M:实际处理数据 V:只关心...

CI中的session :每次刷新 $this->session->set_us
如果你用了默认配置,麻烦,检查你的cookie值是否变化了。CI中的session :每次刷新 $this->session->set_us

CI里面怎么设置用户在一段时间内无操作就自动退出
不操作10分钟退出在每次操作时都重新设置session的有效期为10分钟就可以了。

相似回答