codeigniter:如何使用其名称检索cookie值

时间:2013-04-30 16:52:35

标签: php codeigniter cookies

我想通过它的名字获取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没有设置?

enter image description here

1 个答案:

答案 0 :(得分: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.
|