お世話になります
page1.phpとpage2.phpは同じフォルダに存在し、
page1.phpは
php
1<?php 2 setcookie('keyname','keyvalue', time()+10000,'/'); 3 4echo <<<EOM 5 <!DOCTYPE html><html lang="ja"><head><meta charset="utf-8"> <title></title> 6 7 </head> 8 <body> 9 10 cookie keyvalue={$_COOKIE['keyname']} 11<br><br> 12 <a href="page2.php">次</a> 13 </body></html> 14 15EOM; 16?>
page2.phpは
php
1<?php 2 setcookie('keyname',"", time()-10000,'/'); 3echo <<<EOM 4 <!DOCTYPE html><html lang="ja"><head><meta charset="utf-8"> <title></title> 5 6 </head> 7 <body> 8 9 cookie keyvalue={$_COOKIE['keyname']} 10<br><br> 11 <a href="page1.php">前</a> 12 </body></html> 13 14EOM; 15?>
としました。
page1でkeynameというクッキーにkeyvalueという文字列を入れ、page2でクッキーを削除し、
それぞれのページでそれぞれの処理結果を
cookie keyvalue={$_COOKIE['keyname']}
という形で表示させました。
すると、page1で処理結果が
cookie keyvalue=
となり、page1内のリンク遷移先のpage2で処理結果に
cookie keyvalue=keyvalue
となっています。
page2内のリンクでpage1へ戻っても、上記の通りの結果でした。
setcookieの格納の結果がすぐに反映されず、遷移後に反映されるのは不可解です。
phpのバージョンは7.2です。
どうすれば、すぐに反映されますか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/17 23:01