2016-04-12 24 views
-1

私は問題があります。ブール値(ちょうど偽の値)でCookieを設定したいとき、それは保存しません。PHP |ブール値をクッキーに保存する

私は時間に

setcookie('myCookie',false,time()+3600); 

お知らせ期限切れに追加しても

setcookie('myCookie',false); 

:未定義のインデックス:CでmyCookie:ライン上の\ xamppの\ htdocsに\ウェブ\ PHPの\のphp_global_user.php 4枚の

+0

の可能重複[PHP:注意:未定義の変数と注意:未定義のインデックス](http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined -index) –

+0

私の問題はCookieにFALSEを格納することではありません.... – StykPohlavsson

+0

'on line 4'だからコードの残りはどこですか?さらに、Cookieは2ページ目の読み込み時にのみ有効です。 –

答えて

6

クッキーがあるとプレーンテキスト。

var_dump((string)true, (string)false); 
string(1) "1" 
string(0) "" 

ちょうど先頭からテキストを使用し

:あなたはPHPのブール値をキャストするとそれがPHPを設計する方法ですので、あなただけ trueで賢明な値を取得するテキストに

setcookie('myCookie', '0'); 

...か:

setcookie('myCookie', $value ? '1' : '0'); 
1

代わりに0と1を使用して、それを再びブール値に戻しますE:

// set value to example variable 
$setVar = true; 

// setting the cookie 
setcookie('myCookie', $setVar ? '1' : '0'); 

// reading the cookie 
$readVar = isset($_COOKIE['myCookie']) && $_COOKIE['myCookie'] === '1' ? true : false; 
+0

'もしboolean_conditionならtrue、それ以外なら' false'は私が構文塩と呼ぶものです;-) –

関連する問題