codeigniter中的session的问题

我的后台php用的是CI的框架,然后因为各种各样的原因,我的视图没有放在CI的文件夹里,而是放在外面直接访问的。
那么问题来了,我的页面现在,通过访问控制器中的登录接口来实现登录,登录接口在登录成功之后给session赋值,然而,我的前台却取不到

ps:控制器里测试过session已经写进去了。
ps:我的前端视图和整个CI的文件夹是分开放的→像这样../page/XXX.php 和 ../tool/application/controllers,我觉得问题在这但是再深入些我就没方向了

嗯,求各位大神给一个这类情况下,正确的session使用姿势吧。

0

1个回答

解决了
问题在于我之前用的是CI的session机制,所以文件夹外面的页面好像接受不到
我现在改成了使用PHP原生的session,就可以用了

0
u013578500
Morliasde 补充一下,是关掉了CI的autoload中的session,因为之前有用到,所以一直开着,导致了我在里面使用原生session达不到CI外也能使用的效果
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
CI SESSION 本地每次接口请求session_id不一致
描述:接口框架CI,session默认引擎files,服务器请求session没问题,本地每次请求session cookie存的session_id会变化。 image.png image.png image.png image.png 因为接不到cookie的session_id,因此每次访问接口就会调...
CodeIgniter 判断用户超时登录清除session
CodeIgniter 判断用户超时登录清除session
CodeIgniter框架源码笔记(10)——SESSION类之用户接口CI_SESSION
初始化 Session 类:this−>load−>library(‘session′);初始化之后,就可以使用this->load->library(‘session’); 初始化之后,就可以使用this->session来访问 Session 对象了。 在 CLI 模式下,Session 类将自动关闭。在 CodeIgniter 之前的版本中,Session 类并没有实现锁机制,这也就意味
php(codeigniter)安全性注意事项
1、httponly session一定要用httponly的否则可能被xxs攻击,利用js获取cookie的session_id,不要用原生的phpsession,而要用ci_session。 2、phpinfo 一定要关闭phpinfo页面,dump的请求信息可能会被攻击者利用。比如cookie信息。 3、全站https 4、secure cookie
CI PHP7 session 不能读取的问题
bug场景: linux, CI 3.0.5, php7.1.3, 验证码读取 session使用files, 调试代码发现能写入, 但其他地方不能读取, 试了其他database, redis都不行, 最后改回files 解决办法: 在index.php开始处加上session_start(); 然后注释掉 libraries/Session/Session.php 313行:
解决 CI 在保存session 的时候,会保存一些数据到cookie
修改Session.php,注释掉 if ($this->sess_expiration == 0){     $this->sess_expiration = (60*60*24*365*2); }在config.php 中设置$config['sess_cookie_name']= ''; $config['sess_expiration'] = 0 ;...
CodeIgniter框架源码笔记(15)——SESSION之Redis驱动实现
CodeIgniter框架源码笔记(14)——SESSION之Redis驱动实现session_start()时,调用了open(),read()方法。并有一定机率触发gc()方法。 session_commit()或session_write_close()时,触发write(),close()方法。 session_destory()会触发desotry()方法。1、驱动要实现open ,r
CI框架下session失效问题
项目使用的ci框架,使用集成软件phpstudy2018版本,导致session这部分浏览器或者部分页面时,session丢失。 解决办法: php.ini中设置 session.cookie_path = / 即可;(phpstudy2016版本默认有此设置)...
codeigniter兼容Session
codeigniter兼容Session
CodeIgniter框架源码笔记(11)——SESSION类之闪出数据FlashData实现
官方说Flashdata闪出数据指的是一种只对下一次请求有效的 session 数据, 之后将会自动被清除 看源码后理解:Flashdata闪出数据对本次请求的页面程序中,随便你调用多少次,当切换页面请求后,闪出数据就无效了 比如,商品列表删除某条记录后,提示“商品:扫地机器人已删除”。或者编辑文章时保存后提示“文章修改成功”或“修改失败,参数错误”等。 flashdata 就是常规的 ses
ci3如何在视图中获取session保存的变量值?
控制器中 public function index() { $this->load->library('session'); $name = $_SESSION; $base_url = $this->config->item('base_url'); $this->load->view('in...
CodeIgniter框架源码笔记(13)——SESSION之文件File驱动实现
CI的文件驱动要满足以下三个条件: 1、驱动要实现open ,read ,write ,close ,destory ,gc六个方法。 session_start()时,调用了open(),read()方法。并有一定机率触发gc()方法。 session_commit()或session_write_close()时,触发write(),close()方法。 session_destory(
【PHP】基于codeigniter的session实例
这次是CI的session使用实例。 3.0以前,CI的session是依靠cookie实现的,多少有些让人不习惯,也有些不方便。不过3.0之后的CI在这方面有了很大的改进。
CI框架 session 存取和删除
1. 存储 session     $data = array(           'username'=>'jack',            'userid'=>'1001'      );     $this->session->set_userdata('userinfo',$data);//将$data这个数组存进session里     还可以每次...
Svn的错误:svn中有某些文件上传不上去
<br /><br />Svn的错误:svn中有某些文件上传不上去,<br />解决方法一:将文件名改一下,再上传<br />解决方法二:删除项目再从svn检出一个新的工程<br />方法一有时候是可行的,因为改了一下的确有上传上去的,可第二天还是重复出现那个问题,又上传不了。再试方法一,也不能解决,于是删掉目录重建,还是不行。仔细一看,文件的目录有问题,本来在service层的文件却出现在dao层。按照方法二,恢复正常。在删除之前必须做好备份工作。由于问题出现的突然,一时半会儿也没有找到原因。只是认为很奇
CI框架SESSION使用
//定义session加密的key,在config.php中配置 $config['encryption_key'] = 'rwueiryopoqorppiadkjhglkvbv897908bxn42342'; //后面的字符串随意写 //session的自动载入,在autoload.php中配置 $autoload['libraries'] = array('session');
CI中session的过期时间
最近发现项目中有些页面刷新后会更新session过期时间,有些则不会,很是诡异。 我的理解是,用户每次请求页面时,都应该重置session过期时间=time() + session life time, 但是CI并不是这样做。 先说下对CI session的理解,以下是CI session的配置项: 参数 默认值 选项 描述 ses
CI框架中session变量的存取
里面有两种session的使用方法: 方法一:是php的原始的session使用方法,存:$_SESSION['name']="name",然后在需要的地方显示:echo $_SESSION['name']; 方法二: 1.在\ci\application\config下面的config.php文件中找到:$config['encryption_key'] = '';这个里面随便填什么值都可
【PHP】codeigniter结合ajax实现登录
之前的文章中介绍了利用codeigniter框架中的表单来实现登录,不过这种方式相对原始,这里介绍一种利用ajax的数据传递方式。 前端代码: 首先需要了CI的session,直接使用了PHP原生的session机制,以便在CI的文件夹外也能调用session。 js调用方面,我调用了 "../lib/jquery/jquery.md5.js"  "../lib/jquery/jquer
CodeIgniter框架源码笔记(12)——SESSION类之临时数据TempData实现
Tempdata指的是一种带有有效时间的 session 数据, 当它的有效时间已过期,或在有效时间内被删除,都会自动被清除。 tempdata 也是常规的 session 变量,只不过以特殊的方式保存在 ‘__ci_vars’ 键下 源码的体现是:在本次请求或本页面中,调用tempdata时不会判断过期的,哪怕超过了时间。只有在下一个页面请求调用时,才会判断是否过期。设置session临时数据
struts中 判断用户是否登录或者 session 是否过期
是否登录,是否过期 在一个web项目中,判断用户是否登录或者 session是否过期 是非常重要的 在struts中的实现    做个BaseAction继承DispatchAction,然后所有ACTION继承此BaseActionBaseAction主要代码片段 /** * override method. */ public ActionForward execute(Ac...
ci 框架两种解决跨域问题的方法
1、$this-&amp;gt;output-&amp;gt;set_header(&quot;Access-Control-Allow-Origin: * &quot;); $this-&amp;gt;output-&amp;gt;set_output(json_encode(array(&quot;name&quot; =&amp;gt; &quot;hello woody&quot;))); //返回json格式的报文 2、header(&quot;Access-Control-Allow-Orig.
总结Codeigniter的一些优秀特性
总结Codeigniter的一些优秀特性 最近准备接手改进一个别人用Codeigniter写的项目,虽然之前也有用过CI,但是是完全按着自己的意思写的,没按CI的一些套路。用在公众的项目,最好还是按框架规范来,所以还是总结一下,免得以后别人再接手的时候贻笑大方。 1. 首先是 MVC 如果你还不知道 MVC ,应该尽快的学习,你会很快的体会到在 Model 中数据访问,在
php CI框架中调用接口 memcache缓存数据
defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index($page=1){ $search=isset($_GET['search'])?$_GET['search']:'';
codeigniter集成Swagger自动化生成RESTFUL文档
最近用CI写一个移动APP的服务器端RESTFUL接口。在开发过程中与前端开发人员沟通接口至关重要。原来我们一直使用WORD文档,上传到QQ群供前端开发下载。虽然工作进行没什么大问题,但是每次写完代码都的写WORD文档再传到QQ群的方式我还是感到很低效。         因此我就研究了原来用beego(golang写的WEB框架)时看到的Swagger工具,看看能不能集成到CI中,GOOGLE了
php框架CI(codeigniter)的自动加载与自主创建对象
CI的autoload很好用,自动创建对象,但是注意,他的对象只有一个。 我们很多情况下需要生成对象,这就很麻烦。 好在我们可以有一些方法来创建。 下面记录一下使用library自定义类时,怎么使用自动加载或者用load的方法,以及自主生成任意多个实例的方法。 1、定义符合library要求的自定义类。 要定义自定义类,最好放到library,而要放到library必须将类改造成他规定的...
一个简单的Codeigniter用户登录验证例子程序
一个简单的Codeigniter用户登录验证例子程序,支持session,密码加密存储,供初学者参考。
“让CI框架支持service层”的那些问题
自己写了个demo,用php的ci框架,好长时间没搞了,都忘记了,想添加service层的时候,发现现有网上的code有点问题。 (其实都不是大问题,注意一下就好了) 抄了部分代码,连接如下(搜索的结果) http://blog.csdn.net/qq_32835907/article/details/68489185 http://www.jb51.net/article/56863
codeigniter是如何实现钩子机制的?
记得上一次去到喜啦面试,面试官问我一个问题:codeigniter是如何实现钩子机制的? 当时答不上来,后来回来之后查了一些资料才明白,所以在这里记录一下: codeigniter的钩子是这样实现的:首先在框架的核心文件system/core/CodeIniter.php文件的 122行,载入Hooks类,接着在该文件中定义了几个挂载点,比如pre_system(129行)、post_contr
codeigniter 入门项目
现在,您已经安装和配置了 CodeIgniter,接下来即可构建项目,这项工作至少要占用一个小时的时间。 这一次,我们不会构建 Hello World 应用程序,而是使用 CodeIgniter 创建一个简单的 Web 站点。该站点将有一个主页,显示一些宣传文本和一个表单,该表单将发布到数据库表中。无需为其外观费心 — 只需关注对应用程序有用的部分即可。换句话说,让美工去关心外观 — 您只
codeigniter session丢失
一个登陆界面,输入name,password,点击登陆进入admin_controller,rn验证成功,然后设置 $_SESSION['user'] = $user_name 再重定向到主页面admin/home,rn问题发生了,session丢失,在hook函数中检查 session为空, 又定向到登陆界面,再次登陆,登陆成功。。。rnrn只有第一次登陆是这样,一旦登陆后退出登陆 重新登陆,一次成功,why?rnPHPrnclass Validate rn function validate_user()rn $uri =& load_class('URI');rn $type = $uri->segment(1);rn $param = $uri->segment(2);rn rn if($type == "admin" && !empty($param))rn if(!isset($_SESSION['user']))rn $CI = & get_instance();rn $CI->load->helper('url');rn redirect('/admin');rn rn rn rnrn rn$hook['post_controller_constructor'] = array(rn 'class' => 'Validate',rn 'function' => 'validate_user',rn 'filename' => 'validate.php',rn 'filepath' => 'hooks'rn);rn
Linux----阿里云服务器 https 配置(目前用的是1年免费 SSL证书申请)
操作步骤步骤1:登录阿里后台 –> 证书服务 –> 点击购买证书(像商品购买) 步骤2:购买后按提示绑定域名,提交等待审核(一般20分钟左右) 步骤3:审核通过后,在我的证书订单列表中点击下载,进入选择下载对应不同服务器类型(apache, nginx, iss…)的证书文件(.pem, .key) 步骤4:按提示的配置信息,上传刚下载的两个证书文件到服务器,并配置nginx.conf 步
CodeIgniter框架之模型
新建一个模型(一般一张表建立一个模型)控制器调用视图调用结果:
Nginx Openresty example
nginx reverse proxy example
使用CodeIgniter框架发送QQ邮件
使用CodeIgniter框架发送QQ邮件 1.在【CodeIgniter(CI)框架】的根目录下的./application/libraries/下创建【自定义的发送QQ邮件类库:Send_Email.php文件】。 if ( ! defined('BASEPATH')) exit('No direct script access allowed'); cl
CodeIgniter框架之数据库操作
连接数据库相关操作查询语句:public function showUsers(){        //加载数据库操作类        $this-&amp;gt;load-&amp;gt;database();        //执行sql语句        $mysql = &quot;select * from my_users&quot;;        $res = $this-&amp;gt;db-&amp;gt;query($mysq...
CI(4)
文件上传的步骤以及应该注意的地方1:提交上传 1)在php.ini中设置file_uploads = On 2)表单的提交形式必须为post 3)enctype=&quot;multipart/form-data&quot; 4)type=&quot;file&quot;2:接收信息 $_FILES  原文件名 临时文件名 大小 文件编码格式 报错信息3:根据接收到的信息判断文件格式,大小等等4:执行上传 move_uploaded_f...
codeigniter3项目实践,项目目录和公共配置文件
codeigniter3个人项目实践的目录经验,codeigniger3公共配置文件
CodeIgniter安装和入门使用(一)
CodeIgniter是个轻量级功能也强大的框架,适合做自己做小项目用,本文介绍CodeIgniter的安装和使用。安装官网链接http://codeigniter.org.cn/user_guide/installation/downloads.html ,最新的版本为3.0.2,直接git下载下来就ok。安装说明如下:1,解压压缩包,然后将文件夹的内容全部上传到服务器上的web根目录,如/ww
CodeIgniter框架之url相关函数
public function add(){        if($this-&amp;gt;input-&amp;gt;post('user')){            var_dump($this-&amp;gt;input-&amp;gt;post('user'));        }else{            $this-&amp;gt;load-&amp;gt;helper('url');//用url函数之前,需要先加载url...