web-dev-qa-db-ja.com

CodeIgniterでCookie値を取得する方法は?

print_r($this->session->userdata);によってcodeigniterでセッション値を印刷できます。codeigniterでCookieを印刷するにはどうすればよいですか?クッキーを設定しました:

$cookie = array(
          'name'   => 'test_cookie',
          'value'  => 'test',
          'domain' => '/',
          'secure' => TRUE
          );

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

上記のCookieを印刷するにはどうすればよいですか?

11
Roman

ドキュメントを見てください: Codeigniter Cookie Helper Guide

$this->input->cookie()を使用してCookieを取得する必要があると書かれています。

$this->input->cookie('test_cookie', TRUE);
18
Repox

これはローカルホストで私のために働きました、サーバーのためにセキュリティを厳しくする必要があるかもしれません

$this->load->helper('cookie');     
$cookie = array(
                    'name'   => 'data',
                    'value'  => '23',
                    'expire' =>  86500,
                    'secure' => false
                );
                $this->input->set_cookie($cookie); 
                var_dump($this->input->cookie('data', false));  

有効期限は数値で、パスを削除し、secureをfalseに設定する必要があります

6

Google chrome inspect要素を使用して、Cookieが設定されているかどうかを確認します... FFで実行できると思いますが、しばらくFFを使用していません。 。Cookieに関する問題は1つだけで、それはドメインをライブドメインに設定していたことでした...したがって、次のようなCookieコードがあります。

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

         $cookie = array(
           'name'   => 'the_cookie',
           'value'  => 'test value here',
           'expire' => '15000000',
           'prefix' => ''
        );
        $this->input->set_cookie($cookie);

ここでは、Googleに表示されていることがわかりますChrome "Inspect Element Tool"

Google chrome displaying the_cookie value

3
jason
'secure' => TRUE

これでは、Cookieを取得できません。


設定するだけ

'secure' => FALSE 

そしてそれがうまくいくかもしれないのを見てください。

1
Raj

security => TRUEを設定すると、ローカルでのCookie値の印刷は許可されません。安全な接続へのアクセスのみが許可されるため、codeigniterを使用するよりもsecurity => FALSEを設定しない限り、ローカルホストでは何も印刷されません。 CI_Input cookieの値を取得できるクラス

$this->input->cookie('cookie_name', TRUE);  //with xss filtering 
$this->input->cookie('cookie_name');        //without xss filtering
1

以下を使用してCookieヘルパーをロードします。

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

次に、次の方法で料理を取得します。

$cookieData = get_cookie("cookie_name");

これらは入力クラスを使用するためのエイリアスであることに注意してください。次のようにCookieを取得して設定することもできます。

$cookieData = $this->input->get_cookie("cookie_name");

ソース http://ellislab.com/codeigniter/user-guide/helpers/cookie_helper.html

0
Eddie

以下のコードで出力が得られない場合は、application/config/config.phpファイルを変更して次のように設定します。

$config['global_xss_filtering'] = TRUE;

$this->input->cookie('cookie_name', TRUE);

それ以外の場合はこれを使用すると、値が表示されます

$this->input->cookie('cookie_name'); 
0
Vinit Kadkol