"filter_input" 与 "INPUT_COOKIE" 之前的 cookie 值?
"filter_input" vs "INPUT_COOKIE" previous value of the cookie?
我有这个:
if( isset($_COOKIE['someCookie']) && filter_input(INPUT_COOKIE, 'someCookie') != '' ){
$idX = filter_input(INPUT_COOKIE, 'someCookie');
var_dump('cookie:' . $_COOKIE['someCookie']);
var_dump('variable:' . $idX);
}
在执行此脚本之前,cookie 使用我的数据库中的操作标识更新其值。
第一次执行时,"var_dump"显示如下:
cookie: 1
variable: 1
好的,但是当我执行另一个操作时,生成一个新的 id,加载页面,并更新 cookie,第二次执行时显示:
cookie: 2
variable : 1
我无法理解,就像 "filter_input" 正在获取 cookie 的旧值。
您正在页面上设置 cookie,因此您的 idx 值正在读取页面加载时存储在服务器上的值。您在同一个脚本中设置了 cookie,因此您需要重新加载页面以使 idx 变量显示相同的内容。
我有这个:
if( isset($_COOKIE['someCookie']) && filter_input(INPUT_COOKIE, 'someCookie') != '' ){
$idX = filter_input(INPUT_COOKIE, 'someCookie');
var_dump('cookie:' . $_COOKIE['someCookie']);
var_dump('variable:' . $idX);
}
在执行此脚本之前,cookie 使用我的数据库中的操作标识更新其值。
第一次执行时,"var_dump"显示如下:
cookie: 1
variable: 1
好的,但是当我执行另一个操作时,生成一个新的 id,加载页面,并更新 cookie,第二次执行时显示:
cookie: 2
variable : 1
我无法理解,就像 "filter_input" 正在获取 cookie 的旧值。
您正在页面上设置 cookie,因此您的 idx 值正在读取页面加载时存储在服务器上的值。您在同一个脚本中设置了 cookie,因此您需要重新加载页面以使 idx 变量显示相同的内容。