HelpMe 发表于 2012-7-19 17:59:37

CI中 使用PHP原生SESSION 失效

本帖最后由 HelpMe 于 2012-7-19 18:04 编辑

利用ajax传递数据到 CI控制器 SaveInfo/save_qq_openId 下
                   var xmlhttp;
                        if (window.XMLHttpRequest)
                        {// code for IE7+, Firefox, Chrome, Opera, Safari
                        xmlhttp=new XMLHttpRequest();
                        }
                        else
                        {// code for IE6, IE5
                        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        xmlhttp.onreadystatechange=function()
                        {
                        if (xmlhttp.readyState==4 && xmlhttp.status==200)
                            {
                                          document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
                            }
                        }

/*QQ 登录*/
                     if(QC.Login.check())
                        {
                                       
                                        QC.Login.getMe(function(openId, accessToken){
                                                      xmlhttp.open("GET","http://localhost/CI/index.php/SaveInfo/save_qq_openId?      openId="+openId+"&accessToken="+accessToken,true);
                                                      xmlhttp.send();
                                        });                                                
                        }






在SaveInfo/save_qq_openId内,设置SESSION

function save_qq_openId()
                {
                                          
                              $openId = $this->input->get('openId');
                              $accessToken = $this->input->get('accessToken');
                              //echo $openId;
                              //echo $accessToken;
                              $_SESSION['openId'] = $openId;
                              



已经在首页<html>标签前,加了<?php session_start()?>,在另个控制器获取SESSION变量失败,

A PHP Error was encounteredSeverity: NoticeMessage: Undefined index: openIdFilename: controllers/ShopOnSale.phpLine Number: 125
万分疑惑 !!
                                        Line      125                              $openId = $_SESSION['openId'];                                        Line      126                              echo "OpenId= ".$openId;

HelpMe 发表于 2012-7-20 09:10:30

没有在吗?

xgdd1987 发表于 2012-7-28 22:34:38

这个可能是你的session是存在你的被请求的page中了,但是你当前的页面没有共享使用那个session。或许你使用IE8试试应该可以,这只是我的猜测,我没有验证。。

actionbi 发表于 2012-8-16 09:22:39

http://codeigniter.org.cn/forums/thread-4007-1-1.html

liaomars 发表于 2012-11-15 11:53:15

我的也是这样的问题,顶

Hex 发表于 2012-11-16 12:46:54

要在控制器里做 session_start()
不能在视图里做,因为先执行控制器,后执行视图。
页: [1]
查看完整版本: CI中 使用PHP原生SESSION 失效