【问题标题】:how to set cookie in codeigniter如何在codeigniter中设置cookie
【发布时间】:2015-12-07 11:25:58
【问题描述】:

我尝试使用以下代码设置 cookie,但无法获取 cookie。

if($this->input->post('remember')){                    
                $this->load->helper('cookie');
                $cookie = array(
                        'name'   => 'remember_me',
                        'value'  => 'test',                            
                        'expire' => '300',                                                                                   
                        'secure' => TRUE
                        );
               set_cookie($cookie);                   
   }

以下代码用于获取 cookie

$cookie= get_cookie('remember_me');  
 var_dump($cookie);

谁能告诉我有什么问题? 提前致谢。

【问题讨论】:

  • 请查看 CodeIgniter cookie helper,很简单:codeigniter.com/userguide3/helpers/cookie_helper.html
  • 是否将帮助程序加载为:$this->load->helper('cookie'); 如果不这样做.. 也可以代替 set_cookie($cookie); 使用`$this- >input->set_cookie($cookie);`

标签: php codeigniter


【解决方案1】:

使用

$this->input->set_cookie($cookie);

而不是 set_cookie($cookie);

【讨论】:

    【解决方案2】:

    您需要创建一个控制器类并在其中添加以下代码;

    <?php
    
    if ( ! defined('BASEPATH')) exit('Stop Its demostrate how to set cookie');
    
    class cw_cookies extends CI_Controller {
    
       function __construct()
    
       {
    
           parent::__construct();
    
           $this->load->helper('cookie');
    
       }
    
    
    
       function set()
    
       {
    
           $cookie= array(
    
               'name'   => 'remember_me',
               'value'  => 'test',                            
               'expire' => '300',                                                                                   
               'secure' => TRUE
    
           );
    
           $this->input->set_cookie($cookie);
    
           echo "Congratulation Cookie Set";
    
       }
    
    
    
       function get()
    
       {
    
           echo $this->input->cookie('remember_me',true);
    
       }
    
    }
    

    以上代码通过设置cookies

    $this->input->set_cookie()
    

    帮助程序使用以下方式加载:

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

    您可以阅读更多内容:Set Cookies in Codeigniter

    【讨论】:

    • 完美!干杯
    【解决方案3】:
        public function cookie()
        {
            $this->load->helper('cookie');
    
            $name   = 'user';
            $value  = 'pradip';
            $expire = time()+1000;
            $path  = '/';
            $secure = TRUE;
    
            setcookie($name,$value,$expire,$path); 
    
            $this->load->view('welcome_message');
        }
    

    在视图页面中调用echo $this-&gt;input-&gt;cookie('user');

    输出 = pradip

    【讨论】:

      【解决方案4】:

      说数据

      $my_cookie= array(
      
             'name'   => 'remember_me',
             'value'  => 'test value',                            
             'expire' => '3000',                                                                                   
             'secure' => TRUE
      
         );
      

      使用

      $this->input->set_cookie($my_cookie);
      

      而不是

      set_cookie($my_cookie);
      

      【讨论】:

        【解决方案5】:

        首先将此行添加到控制器的顶部

        function __construct(){
            parent::__construct();
            $this->load->helper(array('cookie', 'url'));
        }
        

        然后将cookie设置为

        set_cookie('counters','ok','999600');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-08-30
          • 1970-01-01
          • 2012-05-18
          • 2012-02-22
          • 2017-10-14
          • 2018-11-18
          • 2012-08-01
          • 2021-05-19
          相关资源
          最近更新 更多