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