Php 无法在codeigniter中检索Cookie

Php 无法在codeigniter中检索Cookie,php,codeigniter,cookies,Php,Codeigniter,Cookies,我正在尝试在codeigniter模型中使用登录功能,但无法在那里检索cookie 它返回bool false 我试着搜索问题,其中一个问题是没有设置cookies, 但是我的cookie是在浏览器中的域localhost下设置的。我之前在另一个项目中尝试过在localhost上使用Cookie,没有codeigniter,在该项目中,我能够在localhost上检索Cookie 在这里,$\u COOKIE['username']将抛出错误无效索引'username',$this->input

我正在尝试在codeigniter模型中使用登录功能,但无法在那里检索cookie

它返回bool false

我试着搜索问题,其中一个问题是没有设置cookies, 但是我的cookie是在浏览器中的域localhost下设置的。我之前在另一个项目中尝试过在localhost上使用Cookie,没有codeigniter,在该项目中,我能够在localhost上检索Cookie

在这里,
$\u COOKIE['username']
将抛出错误无效索引'username',
$this->input->COOKIE('username')
将返回
bool(false)
。但我可以在浏览器中看到“用户名”cookie

设置和检索的Cookie位于不同的文件上

public function checkLogin(){

    $this->load->helper('cookie');

    $row['user']    = $this->input->cookie('username', TRUE);
    $row['handle'] = $this->input->cookie('email', TRUE);
    $row['id']      = $this->input->cookie('pid', TRUE);
    $row['type']    = $this->input->cookie('type', TRUE);
    $row['slug']    = $this->input->cookie('slug', TRUE);
    $row['cuid']    = $this->input->cookie('cuid', TRUE);

    return  $this->input->cookie('username', false);
    }
}
我将cookies设置在不同的文件中

setcookie("username",$user, time()+60*60*60*24*30);
setcookie("email",$handle, time()+60*60*60*24*30);
setcookie("pid",$row['id'], time()+60*60*24*30*60);
setcookie("type",$type, time()+60*60*24*30*60);
setcookie("slug",$row['slug'], time()+60*60*24*30*60);
setcookie("city",$row['city'], time()+60*60*24*60*30);
setcookie("cuid", $code, time()+60*60*24*60*30);

请询问所需的更多信息。我在控制器中使用了构造函数(两个下划线),而不是在模型中。设置cookie的表单不在控制器或模型中,而是在根文件夹中。我尝试过使用
$this->input->set_cookie()设置cookie也是。

本地主机可以根据设置cookie的文件设置路径

显式声明路径

setcookie("username",$user, time()+60*60*60*24*30, "/");

路径为“/”的cookie可以在任何地方检索,否则就无法检索。

Localhost可以根据设置cookie的文件设置路径

显式声明路径

setcookie("username",$user, time()+60*60*60*24*30, "/");

路径为“/”的cookie可以在任何地方检索,否则就无法检索。

如果您试图使用cookie helper,则需要尝试以不同的方式使用它。查看手册您说您可以在浏览器中看到用户名cookie,它是否设置了值?@optim我认为您也应该使用路径和域选项设置cookie。请参阅此链接。将路径指定为“/”并将域指定为localhost。类似于
setcookie(“TestCookie”,$value,time()+3600,“/”,“localhost”)
@optim
setcookie(“TestCookie”,“$value,time()+3600”,“/”,“localhost”)使用此语句,请在检查之前清除浏览器cookie。另外,请确保您的PC和Apache(服务器)上的时间设置正确。@umairkan浏览器为此cookies“/forms/accounts”显示的路径如果您试图使用cookie帮助程序,则需要尝试以不同的方式使用它。查看手册您说您可以在浏览器中看到用户名cookie,它是否设置了值?@optim我认为您也应该使用路径和域选项设置cookie。请参阅此链接。将路径指定为“/”并将域指定为localhost。类似于
setcookie(“TestCookie”,$value,time()+3600,“/”,“localhost”)
@optim
setcookie(“TestCookie”,“$value,time()+3600”,“/”,“localhost”)使用此语句,请在检查之前清除浏览器cookie。另外,请确保您的PC和Apache(服务器)上的时间设置正确。@umairkan浏览器为该cookies显示的路径“/forms/accounts”