将带有三元运算符的PHP cookie设置为一周后过期

将带有三元运算符的PHP cookie设置为一周后过期,php,cookies,session-cookies,ternary-operator,setcookie,Php,Cookies,Session Cookies,Ternary Operator,Setcookie,尝试将三元php cookie设置为presist一周,但将时间添加为'setcookie'的第三个参数不起作用。cookie是指表单提交的次数 当前仅用作会话cookie: setcookie('formCount', isset($_COOKIE['formCount']) ? ++$_COOKIE['formCount'] : 0); $formSubmits = ++$_COOKIE['formCount']; 我尝试设置一个7天(604800秒)的持久cook

尝试将三元php cookie设置为presist一周,但将时间添加为'setcookie'的第三个参数不起作用。cookie是指表单提交的次数

当前仅用作会话cookie:

setcookie('formCount', isset($_COOKIE['formCount']) ? ++$_COOKIE['formCount'] : 0);
            $formSubmits = ++$_COOKIE['formCount'];
我尝试设置一个7天(604800秒)的持久cookie,如下所示:

setcookie('formCount', isset($_COOKIE['formCount'], 604800) ? ++$_COOKIE['formCount'] : 0);
            $formSubmits = ++$_COOKIE['formCount'];
setcookie("formCount", isset($_COOKIE["formCount"]) ? ++$_COOKIE["formCount"] : 0, 604800);
但它不起作用


有什么帮助吗?

当前,您将两个参数传递给
setcookie
,并将两个参数(包括时间戳)传递给
isset
,因此expire参数将设置为0。您要执行的操作如下所示:

setcookie('formCount', isset($_COOKIE['formCount'], 604800) ? ++$_COOKIE['formCount'] : 0);
            $formSubmits = ++$_COOKIE['formCount'];
setcookie("formCount", isset($_COOKIE["formCount"]) ? ++$_COOKIE["formCount"] : 0, 604800);

这是答案,但它实际上不起作用,除非我添加了'time()+'所以setcookie(“formCount”,isset($\u COOKIE[“formCount”])?++$\u COOKIE[“formCount”]:0,time()+604800);