Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter Cookie赢得';未设置,但会话正在工作?_Php_Codeigniter_Cookies - Fatal编程技术网

Php CodeIgniter Cookie赢得';未设置,但会话正在工作?

Php CodeIgniter Cookie赢得';未设置,但会话正在工作?,php,codeigniter,cookies,Php,Codeigniter,Cookies,我正在与CodeIgniter合作,使用Twitter和Facebook为我的网站设置一些用户登录功能,这部分工作正常,会话工作正常 当我尝试设置一个cookie时,它不起作用 //Setup a guid $guid = uniqid(); //Setup a random cookie and point it to db user $cookie = array( 'name' => 'TheCookieName', 'value' => $guid, 'e

我正在与CodeIgniter合作,使用Twitter和Facebook为我的网站设置一些用户登录功能,这部分工作正常,会话工作正常

当我尝试设置一个cookie时,它不起作用

//Setup a guid
$guid = uniqid();

//Setup a random cookie and point it to db user
$cookie = array(
  'name'   => 'TheCookieName',
  'value'  => $guid,
  'expire' => 100,
  'domain' => BASE_URL,
  'secure' => TRUE
);

    set_cookie($cookie);

  var_dump(get_cookie('TheCookieName')); // bool(false)
我的自动加载文件很简单

$autoload['helper'] = array('paging_helper','url','cookie');
我显然错过了一些琐碎的事情?有线索吗


谢谢

您不能在同一实例中设置和访问cookie。您应该在设置cookie后重定向或刷新。这就是为什么var_dumping get_cookie总是返回false的原因。您还应该设置其余的参数。
请参见

您不能在同一实例中设置和访问cookie。您应该在设置cookie后重定向或刷新。这就是为什么var_dumping get_cookie总是返回false的原因。您还应该设置其余的参数。
请参见

问题可能在您的域变量中 基本URL不是CI常量的一部分,它可能不包含您期望的内容或cookie初始化所需的内容

试着这样做:

//Setup a guid
$guid = uniqid();

//Setup a random cookie and point it to db user
$cookie = array(
  'name'   => 'TheCookieName',
  'value'  => $guid,
  'expire' => 86500, // have a high cookie time till you make sure you actually set the cookie
  'domain' => '.example.org', // the first . to make sure subdomains isn't a problem
  'path' => '/',
  'secure' => TRUE
);

    set_cookie($cookie);

请记住,在发出新请求之前,cookie将永远不可用。
重定向到cookie设置中指定的域上的另一页,然后再次检查cookie。

问题可能在域变量中 基本URL不是CI常量的一部分,它可能不包含您期望的内容或cookie初始化所需的内容

试着这样做:

//Setup a guid
$guid = uniqid();

//Setup a random cookie and point it to db user
$cookie = array(
  'name'   => 'TheCookieName',
  'value'  => $guid,
  'expire' => 86500, // have a high cookie time till you make sure you actually set the cookie
  'domain' => '.example.org', // the first . to make sure subdomains isn't a problem
  'path' => '/',
  'secure' => TRUE
);

    set_cookie($cookie);

请记住,在发出新请求之前,cookie将永远不可用。
重定向到cookie设置中指定的域上的另一个页面,并再次检查cookie。

确保仅为https设置安全=>TRUE

确保仅为https设置安全=>TRUE重定向cookie仍然为false。另外,请注意set_cookie()是一个CodeIgniter函数,而不是本机PHP setcookie()@SeanHJenkins您可以尝试var_dumping$\u cookie[“thecookeName”]吗,即使我重定向cookie仍然为false。另外,请注意set_cookie()是一个CodeIgniter函数,而不是原生PHP setcookie()@SeanHJenkins你能试试var_dumping$_cookie[“thecookeName”]吗?在将基本URL设置为nothing并让CI计算出来后,它工作了,但出于某种原因,我不得不调用函数,比如--set_cookie($param,$param,$param,$etc)而不是作为数组传递。不知道为什么,但它起作用了。听起来很奇怪。。。您确定您的应用程序没有使用setcookie()而不是set_cookie()?@Repox如果我们在localhost/folder\u name/?@Aryans测试代码,域中应该是什么?您应该是安全的,无需提供任何信息-您更改设置的具体原因是什么?@Repox当我设置cookie时,它被设置好了,工作正常,但当我关闭浏览器时,它也丢失了,不知道为什么?在将BASE_URL设置为nothing并让CI计算出来后,它工作了,但出于某种原因,我不得不调用函数,比如--set_cookie($param,$param,$param,$etc),而不是作为数组传递。不知道为什么,但它起作用了。听起来很奇怪。。。您确定您的应用程序没有使用setcookie()而不是set_cookie()?@Repox如果我们在localhost/folder\u name/?@Aryans测试代码,域中应该有什么?@Repox您应该是安全的,无需提供任何信息-您更改设置的原因有什么特别的吗?@Repox当我设置cookie时,它被设置好了,工作正常,但当我关闭浏览器时,它也丢失了,不知道为什么?