用CI写的腾讯登陆,需要存贮openId以及accessToken,
用Ajaxvar 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;
}
}
if(QC.Login.check())/*QQ 登录*/
{
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['openId'] = $_GET['openId'];然后页面跳转到另一个控制器 echo $_SESSION['openId'];错误提示 :
A PHP Error was encounteredSeverity: NoticeMessage: Undefined index: openIdFilename: controllers/ShopOnSale.phpLine Number: 125查看过 php.ini 文件 没有问题 在另个页面<html>标签前写了也没有用<?php
session_id('openId');
session_start();
?>
用Ajaxvar 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;
}
}
if(QC.Login.check())/*QQ 登录*/
{
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['openId'] = $_GET['openId'];然后页面跳转到另一个控制器 echo $_SESSION['openId'];错误提示 :
A PHP Error was encounteredSeverity: NoticeMessage: Undefined index: openIdFilename: controllers/ShopOnSale.phpLine Number: 125查看过 php.ini 文件 没有问题 在另个页面<html>标签前写了也没有用<?php
session_id('openId');
session_start();
?>
$_SESSION['openId'] = $_GET['openId'];
可以在设置SESSION的控制力获取到$_GET['openId'],
变量已经设置了
PHP中,session不能传递到下一个页面去,一般情况:在配置文件php.ini里把session.use_trans_sid的值改成1。试过改成1 然后重启apache ..但是还是无效 ..
然后跳转的页面是
网站头部 + 内容B + 网站底部在头部写了 session_start(); 这样应该不会有影响的吧
那么你在他之前 session_start() 了吗?又,
session_id('openId');
session_start();
是错误的,请去掉
为什么session_id()是错误的呢?
如果在session_start();之前加代码session_id($session id);
将不产生新的session文件,直接读取与这个id对应的session文件。