可以使用PHP';s设置cookie是否接受非数字键?如果是,为什么不设置此cookie?
我试图将cookie设置为登录脚本的一部分,但cookie似乎从未设置。我用大量的调试点检查了代码,调用了st cookie,setcookie响应true,但检查时不存在cookie。我已经用chrome浏览器查看了我的cookies,但这个应用程序没有cookies 在此之前的步骤检查已发送的标题,因此我知道这不是问题所在可以使用PHP';s设置cookie是否接受非数字键?如果是,为什么不设置此cookie?,php,cookies,Php,Cookies,我试图将cookie设置为登录脚本的一部分,但cookie似乎从未设置。我用大量的调试点检查了代码,调用了st cookie,setcookie响应true,但检查时不存在cookie。我已经用chrome浏览器查看了我的cookies,但这个应用程序没有cookies 在此之前的步骤检查已发送的标题,因此我知道这不是问题所在 <?php // ... public function set_cookie($cookie,$value,$time=0){ $cookieCONF =
<?php
// ...
public function set_cookie($cookie,$value,$time=0){
$cookieCONF = core::get()->factory()->get_config('cookie',array('path'=>'/','domain'=>'.'));
core::get()->debug()->log("COOKIE[{$cookie}]", $value, FALSE, 7);
if($time!==0){
$time= time()+$time;
}
if(!is_array($value)){
setcookie($cookie, $value, $time, $cookieCONF['path'], $cookieCONF['domain']);
}else{
foreach($value as $val=>$ue){
core::get()->debug()->log("{$cookie}[{$val}]", $ue, FALSE, 8);
if(setcookie("{$cookie}[{$val}]", $ue, $time, $cookieCONF['path'], $cookieCONF['domain'])){
core::get()->debug()->log('COOKIE RESULT',"SET {$cookie}[{$val}]={$ue}", FALSE, 8);
}else{
core::get()->debug()->log('COOKIE RESULT',"NOPE {$cookie}[{$val}]={$ue}", FALSE, 8);
}
}
}
}
public function set_cookie($cookie,$value,$time=0){
$cookieCONF = core::get()->factory()->get_config('cookie',array('path'=>'/','domain'=>'.'));
core::get()->debug()->log("COOKIE[{$cookie}]", $value, FALSE, 7);
if($time!==0){
$time= time()+$time;
}
if($cookieCONF['domain']=='localhost'){
$cookieCONF['domain']=null;
}
if(!is_array($value)){
setcookie($cookie, $value, $time, $cookieCONF['path'], $cookieCONF['domain']);
}else{
foreach($value as $val=>$ue){
core::get()->debug()->log("{$cookie}[{$val}]", $ue, FALSE, 8);
if(setcookie("{$cookie}[{$val}]", $ue, $time, $cookieCONF['path'], $cookieCONF['domain'])){
core::get()->debug()->log('COOKIE RESULT',"SET {$cookie}[{$val}]={$ue}", FALSE, 8);
}else{
core::get()->debug()->log('COOKIE RESULT',"NOPE {$cookie}[{$val}]={$ue}", FALSE, 8);
}
}
}
}
Cookies可以使用非数字键。
将代码更改为:
setcookie("user[k]", "295f<SNIP>98f2", $time);
调试:尝试一个带有硬编码html页面和cookie的非常简单的php脚本?您正在使用的代码可能存在其他问题。这不会花费很长时间,并且会确定cookie是否是问题所在?
setcookie("user[k]", "295f<SNIP>98f2", $time);
setcookie("user[k]", "295f<SNIP>98f2", $time);
setcookie("user[k]", "295f<SNIP>98f2", $time, "/~username/folder/");
public function set_cookie($cookie,$value,$time=0){
$cookieCONF = core::get()->factory()->get_config('cookie',array('path'=>'/','domain'=>'.'));
core::get()->debug()->log("COOKIE[{$cookie}]", $value, FALSE, 7);
if($time!==0){
$time= time()+$time;
}
if($cookieCONF['domain']=='localhost'){
$cookieCONF['domain']=null;
}
if(!is_array($value)){
setcookie($cookie, $value, $time, $cookieCONF['path'], $cookieCONF['domain']);
}else{
foreach($value as $val=>$ue){
core::get()->debug()->log("{$cookie}[{$val}]", $ue, FALSE, 8);
if(setcookie("{$cookie}[{$val}]", $ue, $time, $cookieCONF['path'], $cookieCONF['domain'])){
core::get()->debug()->log('COOKIE RESULT',"SET {$cookie}[{$val}]={$ue}", FALSE, 8);
}else{
core::get()->debug()->log('COOKIE RESULT',"NOPE {$cookie}[{$val}]={$ue}", FALSE, 8);
}
}
}
}