naffan 发表于 2010-7-29 09:59:53

跳转后SESSION取不到值

用户登入时记录session
session_start();
$_SESSION["uid"]=$uid;
$_SESSION["username"]=$username;
$_SESSION["email"]=$email;
echo '登录成功'.$ucsynlogin."<script>window.location.href='http://www.yaohd.com';</script>";

当跳转到http://www.yaohd.com后session取不到值。输出session数组时空的。

后来我用session类。自动加载session了。
相应的改成:
$this->load->library('session');
   $this->session->set_userdata('uid', $uid);
   $this->session->set_userdata('username', $username);
   $this->session->set_userdata('email', $email);

输出地时候
$this->session->userdata('uid');
可是 依然在跳转后输出不出来。

后来用了HEX的session类,情况依然。

dogwin 发表于 2010-7-29 10:08:34

回复 1# naffan


set session
$A_session = array(
'a'=>$a,
'b'=>$b,
);
$this->session->set_userdata($A_session);

get session
$S_a = $this->session->userdata('a');
$S_b = $this->session->userdata('b');

naffan 发表于 2010-7-29 10:17:25

回复 2# dogwin


    没用

jeongee 发表于 2010-7-29 10:26:16

本帖最后由 ywqbestever 于 2010-7-29 10:28 编辑

如果你肯定不是程序上的问题的话。。。
客户端浏览器配置问题或者是服务器端的配置问题???
你可以尝试查看下服务端的session记录文件和本地的cookies里的值

mahone 发表于 2010-7-29 10:38:44

当跳转到http://www.yaohd.com后session取不到值。输出session数组时空的。

跳转到另一个站点了,而且你是用<script>window.location.href='http://www.yaohd.com';</script>这个跳转的。我是否可以这样想。
“当然没有了,你前面的session是针对a站点,现在你在yaohd站点想要有a站点的session,你不是开玩笑么?”
不知道我说的对不对,大家评论。

naffan 发表于 2010-7-29 10:45:48

回复 4# ywqbestever


    我发现session取值不正常
我做了个测试:
function set_session()
{
session_start();
$_SESSION['bye']="bye";
}


    function test()
    {
   session_start();
   var_dump($_SESSION);
   }

最后竟然 显示不出来…………………………………………………………

naffan 发表于 2010-7-29 10:47:48

回复 5# mahone


    两个都是一样的站点。没有跨域。
    而且,原先还是好的,但是经过我一使用session类发现不行后,恢复成原来的结果页不行了。

mahone 发表于 2010-7-29 10:55:05

回复 7# naffan


   ……悲剧了。那应该是服务器配置有问题了(我猜的)。

naffan 发表于 2010-7-29 10:55:41

经过测试 session已经能够在测试上顺利取得。但是同为一个项目我竟然在程序里面取不出测试时设好的session……这又是怎么回事?

naffan 发表于 2010-7-29 11:07:18

结贴:

原因:我也不知道。肯定不是服务器的原因
页: [1] 2
查看完整版本: 跳转后SESSION取不到值