2011-12-24 15 views
1

私の法律のためのWebアプリケーションを構築するためにCodeIgniterを使用しています。 Remember me機能を構築しようとしていますが、共有ホストまたはローカルのどちらにもCookieを設定できません。PHPクッキーが設定されていません

私はCIのcookieヘルパーとPHPのsetcookie()の両方を試しましたが、いずれも動作しませんでした。

PHP:

$token = $this->random(32, $this->input->post('userPassword')); 
$cookie_value = '{"email":"'. $this->input->post('userEmail') .'","token":"'. $token . '"}'; 

if (setcookie('remember_me', urlencode($cookie_value), 1000000, '/')) 
{ 
    echo "Set Val: " . json_encode($cookie_value); 
} 

CI:

$this->load->helper('cookie'); 
$token = $this->random(32, $this->input->post('userPassword')); 
$cookie_value = '{"email":"'. $this->input->post('userEmail') .'","token":"'. $token . '"}'; 

if (set_cookie('remember_me', urlencode($cookie_value), 1000000, '/')) 
{ 
    echo $this->input->cookie('remember_me'); 
    echo "Set Val: " . json_encode($cookie_value); 
} 

の両方が、彼らがifブロックの中に入ると、動作するようには思えますが、彼らはクロムまたはFirefoxでクッキーを設定しないでください。

私は間違っていますか?

+2

コードは、クッキーがそれはおそらくちょうど 'その'エコーelse'だろう – Galen

+0

設定アレントを伝えるのthatsのwheres "いや!" ; ' – Seth

+0

どのように正確にクッキーが設定されていないと判断していますか? – deceze

答えて

3

まず、クッキーの有効期限を時間内に戻すように設定しているので、すぐに期限切れになります。

ので、この:

setcookie('remember_me', urlencode($cookie_value), 1000000, '/') 

は次のようになります。

setcookie('remember_me', urlencode($cookie_value), time()+1000000, '/') 
+0

ありがとう!私はそれが単純でなければならないことを知っていた。 – Seth

関連する問題