Cookie の設定に関する問題

WBOY
WBOYオリジナル
2016-06-23 14:10:16928ブラウズ

if(isset($_COOKIE['history'])){	$history = explode(',', $_COOKIE['history']);    array_unshift($history, $id);    $history = array_unique($history);	    while (count($history) > 5)    {        array_pop($history);    }		setcookie('history',implode(',', $history),80000);	echo 'add';}else{	setcookie('history',$id,80000);	echo 'new';}


常に新しい情報が出力されるのはなぜですか?


ディスカッションに返信 (解決策)

モデレーター様にお電話です。

設定した有効期限が短すぎます。

説明をよくお読みください。
Cookie の有効期限が切れます。これは Unix タイムスタンプ、つまり Unix エポックからの秒数です。つまり、通常、time() 関数に秒数を加えて Cookie の有効期限を設定します。または、mktime() を使用してそれを実現します。
time()+60*60*24*30 は、Cookie が 30 日後に期限切れになるように設定します。
設定されていない場合、Cookie はセッション終了後 (通常はブラウザを閉じたとき) に期限切れになります。

設定した有効期限が短すぎます。

説明をよくお読みください。
Cookie の有効期限が切れます。これは Unix タイムスタンプ、つまり Unix エポックからの秒数です。つまり、通常、time() 関数に秒数を加えて Cookie の有効期限を設定します。または、mktime() を使用してそれを実現します。
time()+60*60*24*30 は、Cookie が 30 日後に期限切れになるように設定します。
設定されていない場合、Cookie はセッション終了後 (通常はブラウザを閉じたとき) に期限切れになります。
親愛なるモデレーター、3 度目の問題を解決してくれてありがとう
本当に注意深く読んでいませんでした。どうもありがとうございます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。