2017-07-31 21 views
0

私のコードはlocalhost上で問題なく動作していますが、サーバ上で動作していません。以下はCodeigniter 3のクッキーがサーバで動作していません

は、ホーム機能

$this->input->set_cookie('ci_sm', 'test', 86400); 

上にあると私は思い原因

echo get_cookie('ci_sm'); 

は、ライブラリがautoload.php

を介してロードされている別のページ/機能からこれを読んしよう
$autoload['helper'] = array('cookie'); 

これはUbuntuサーバーでテストしても動作しません。 この問題が発生した場合は、何か助けてください。ここで

+0

を助け、それはすべてのエラーを生成していますか? –

+0

エラーは生成されません – chaky

答えて

2

は、この問題を克服するのを助けることができる私の提案です:サイト全体のクッキーについては

にかかわらず、あなたのサイトが要求されるかの、ピリオドで始まるドメインにあなたのURLを追加し、次のように:.your-domain.com

CIset_cookie関数の構造は次のとおりです。

$this->input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure); 

だからあなたの最終set_cookie機能は次のようになります。

$this->input->set_cookie('ci_sm', 'test', 86400, '.some-domain.com'); 
+0

Mahbublありがとうございました。ドメイン情報をクッキーに追加することはそのトリックでした。 – chaky

+0

あなたは大歓迎です:) –

+0

"。"ドメイン名の部分(ドット)。これは私のために働いた。 –

0

デフォルトで、または コントローラで、設定ファイルにヘルパーを読み込みます。配列を作成し、 のデータを使用してコードサンプルをフォローすることができます。

class Cookie_controller extends CI_Controller { 

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

     public function index() { 
     } 

     public function display_cookie() { 
      $cookie = array(
       'name' => 'data', 
       'value' => '21', 
       'expire' => 92000, 
       'secure' => false 
      ); 
      $this->input->set_cookie($cookie); 
      var_dump($this->input->cookie('data', false)); 
     } 


    } 

希望これは

関連する問題