【问题标题】:Call to undefined method CI_Input::get_cookie() - Code Igniter调用未定义的方法 CI_Input::set_cookie() - Codeigniter
【发布时间】:2011-07-13 20:30:11
【问题描述】:

我正在尝试从输入库调用 get_cookie() 方法,但收到此错误。

“致命错误:调用未定义的方法 CI_Input::get_cookie()”

我已经为 cookie 加载了帮助程序,并在父函数中使用了 set_cookie() 调用。我不确定这是否应该是一个问题。

这是产生错误的代码。

    class Main extends MY_Controller
    {
        function __construct()
        {
            parent::__construct();

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

            echo "Welcome controller<br>";

        }

        function index()
        {   


            //get platform cookie
            $_platform = $this->input->get_cookie('platform'); //<-ERROR

            if (!$this->tank_auth->is_logged_in()) {
                redirect('/auth/login/');
            } else {
                $data['user_id']    = $this->tank_auth->get_user_id();
                $data['username']   = $this->tank_auth->get_username();
                $data['platform']   = $_platform['value'];
                $this->load->view('welcome', $data);
            }
        }
    }

【问题讨论】:

  • 我想看看你的 MY_Controller
  • CI 论坛上有人帮我回答了这个问题,所以我会在这里发布。

标签: php codeigniter cookies input


【解决方案1】:

既然你已经加载了 cookie 助手,你可以通过一个函数来获取 cookie。

$_platform = get_cookie('platform'); 

如果我没记错的话,通过 Input 类获取 cookie 是这样的:

$_platform = $this->input->cookie('platform'); 

http://codeigniter.com/forums/viewthread/181572/#867911

【讨论】:

  • 虽然您的解决方案运行良好,但奇怪的是 set_cookie 像 $this->input->set_cookie() 一样使用并且 get cookie 不需要任何 "$this->input->" 前缀。 。 奇怪的..!!我还注意到这与 delete_cookie() 的情况相同。它不需要任何类/库前缀,直接作为 delete_cookie() 使用即可。
猜你喜欢
  • 2020-08-07
  • 1970-01-01
  • 1970-01-01
  • 2020-06-25
  • 1970-01-01
  • 2019-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多