mylovefly 发表于 2010-2-23 15:46:55

求助Cookie获取不到啊。。

本帖最后由 mylovefly 于 2010-2-23 15:52 编辑

if($this->mMember->CheckLogin($Code_Username, md5($Code_Userpass))) {
                  if($LoginMode == 1) {
                        $user_expire = 60*60*24*30;
                        $pass_expire = 60*60*24*30;
                  } else {
                        $user_expire = 0;
                        $pass_expire = 0;
                  }
                  $user_cookie = array (
                            'name' => 'XSHanusername',
                            'value' => base64_encode(md5($Code_Username)),
                            'expire' => $user_expire,
                            'domain' => '',
                            'path' => '/',
                            'prefix' => '',
                  );
                  set_cookie($user_cookie);
                  $pass_cookie = array (
                            'name' => 'XSHanuserpass',
                            'value' => base64_encode(md5($Code_Userpass)),
                            'expire' => $user_expire,
                            'domain' => '',
                            'path' => '/',
                            'prefix' => '',
                  );
                  set_cookie($pass_cookie);
                  GetAlerts("登陆成功!", '/');
                } else {
                  GetAlerts("用户名和密码无效!", $_SERVER["HTTP_REFERER"]);
                }


用firefox也能看到cookie保存成功了。


但是用
echo get_cookie('XSHanusername');
就是输不出来。。。
而用
echo get_cookie('PHPSESSID');
输出 这个系统默认的Cookie名称就可以正常输出。
。。各位大大帮帮忙看看啊。。

baiyuxiong 发表于 2010-2-23 17:36:34

本帖最后由 baiyuxiong 于 2010-2-23 17:38 编辑

试了一下这段代码可以:

<?php
      class Home extends Controller
      {
                function __construct()
                {
                        parent::controller();
                }
                function index()
                {
                        $this->load->helper('cookie');
                        $Code_Username="username";
                        $user_expire= 0;
                        $user_cookie = array (
                            'name' => 'XSHanusername',
                            'value' => $Code_Username,
                            'expire' => $user_expire,
                            'domain' => '',
                            'path' => '/',
                            'prefix' => '',
                  );
                         set_cookie($user_cookie);
                         echo get_cookie('XSHanusername');
                }
      }

可能你别的地方有问题。比如XSHanusername的值已经失效什么的

mylovefly 发表于 2010-2-24 09:52:55

上面的设置只有两种可能啊。。要么关闭流览器失效,,要么长期保存。 。。。。怎么会这么快就失效了呢。。

Hex 发表于 2010-2-24 10:02:15

如果不设置 cookie path 为根目录,不同控制器的不同方法之间不能共享 cookie
页: [1]
查看完整版本: 求助Cookie获取不到啊。。