0

我正在尝试通过其名称获取 cookie 值。这是我第一次在 codeigniter 中使用 cookie。

这是我试图获取我设置的cookie值的方式,但它在我的视图页面中显示输出为bool(false)

我如何将 cookie 设置到我的控制器中......

 $ranum=random_string('alnum', 20);//generates random numbers/strings  
   $cookie = array(
        'name'   => 'remember_me_token',
        'value'  =>$ranum,
        'expire' => '1209600',  // Two weeks
        'domain' => base_url(),  //my base url is http://localhost
        'path'   => '/'
    ); 
    set_cookie($cookie);

我如何尝试获取我的 cookie 值是

<?php echo $this->input->cookie('remember_me_token', TRUE);  //giving output like bool(false)  ?>

注意:当用户单击“提交”按钮时,我使用的是 ajax

请帮我检查如何使用此名称检查 cookie 是否可用,如果可用,那么如何将其值检索到我的视图页面中。

更新:我检查了我的浏览器 cookie,它看起来像这样......似乎我在设置 cookie 时遇到了问题。如果是这样,请帮助我为什么我的 cookie 没有设置?

在此处输入图像描述

4

1 回答 1

2

Cookie 在您设置它的同一请求/页面上不可用。设置 cookie 后,必须将其发送以供浏览。

来自 PHP.NET

直到下次加载 cookie 应该可见的页面时,cookie 才会变得可见。要测试 cookie 是否设置成功,请在 cookie 过期之前检查下一个加载页面上的 cookie。过期时间通过 expire 参数设置。

更新:

基本网址应该类似于yourdomain.com. 检查$config['base_url']你的config.php文件。不能使用$config['base_url']=http://localhost/,应设置为http://localhost/yourdomain/或留空。

|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
|   http://example.com/
|
| If this is not set then CodeIgniter will guess the protocol, domain and
| path to your installation.
|
于 2013-04-30T17:07:03.417 回答