神秘地设置自己的Cookie

时间:2015-10-18 17:10:35

标签: php cookies

当满足第一个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'];
?>

1 个答案:

答案 0 :(得分:0)

此:

//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;
相关问题