当满足第一个if语句的条件时,cookie "c2"也被设置。我真的很挠头。什么好主意吗?仅供参考,这是本页上处理cookie的唯一代码。
<?php
//set cookies on correct answers
if ( $_POST['answer-1'] == 'rob' ) :
$c1 = 'correct';
setcookie('c1', 'correct');
endif;
if ( $_POST['answer-2'] == 'blue' ) :
$c2 = 'correct';
setcookie('c2', 'correct');
endif;
//reset cookies
if ( !empty($_POST['reset']) ) :
$_COOKIE['c1'] = '';
$_COOKIE['c2'] = '';
endif;
$c1c = $_COOKIE['c1'];
$c2c = $_COOKIE['c2'];
?>
This:
//reset cookies
if ( !empty($_POST['reset']) ) :
$_COOKIE['c1'] = '';
$_COOKIE['c2'] = '';
endif;
将用这些值重置全局$_COOKIE
数组。但是页面重新加载仍然会再次填充,因为cookie仍然有效并存储在浏览器中。
为了从浏览器中删除它们,您需要:
//reset cookies
if ( !empty($_POST['reset']) ) :
$_COOKIE['c1'] = '';
$_COOKIE['c2'] = '';
setcookie('c1', '', -3600);
setcookie('c2', '', -3600);
endif;