(Mahara) 手动设置 cookies 在下一页消失
(Mahara) manually set cookies disappear on the next page
我正准备为 mahara 编写一些代码。我正在尝试将变量存储在 cookie 中。如果我这样做,它会在下一页消失。
示例:
foo.php:
...
$myfoo = 'bar';
setcookie('mycookie', $myfoo)
var_dump($_COOKIE)
...
执行foo.php:所有mahara cookies & 'mycookie'已设置。不出所料,一切都很好。
bar.php
...
var_dump($_COOKIE)
...
在 foo.php 之后执行 bar.php:仅设置了 mahara 标准 cookie,但未设置 'mycookie'。
我真的无法解释。
$_SESSION 也没有按预期工作。
我的服务器设置正确,cookie 通常有效。
有人有想法吗?
编辑:我在 foo.php 中通过 var_dump 看到了 cookie。即使我停下来设置它们。他们在那里。但在其他页面上没有。
<?php
$myfoo = 'bar';
setcookie('mycookie', $myfoo, time() + (86400 * 30), "/"); // 86400 = 1 day
var_dump($_COOKIE);
?>
您的 cookie 即将过期,因为
指定 cookie 何时过期,因为如果省略过期时间或将其设置为 0,则 cookie 将在会话结束时(浏览器关闭时)过期。将其更改为某个值,例如 time()+86400*30
更多详情:https://www.w3schools.com/php/func_network_setcookie.asp
我正准备为 mahara 编写一些代码。我正在尝试将变量存储在 cookie 中。如果我这样做,它会在下一页消失。
示例:
foo.php:
...
$myfoo = 'bar';
setcookie('mycookie', $myfoo)
var_dump($_COOKIE)
...
执行foo.php:所有mahara cookies & 'mycookie'已设置。不出所料,一切都很好。
bar.php
...
var_dump($_COOKIE)
...
在 foo.php 之后执行 bar.php:仅设置了 mahara 标准 cookie,但未设置 'mycookie'。
我真的无法解释。
$_SESSION 也没有按预期工作。
我的服务器设置正确,cookie 通常有效。
有人有想法吗?
编辑:我在 foo.php 中通过 var_dump 看到了 cookie。即使我停下来设置它们。他们在那里。但在其他页面上没有。
<?php
$myfoo = 'bar';
setcookie('mycookie', $myfoo, time() + (86400 * 30), "/"); // 86400 = 1 day
var_dump($_COOKIE);
?>
您的 cookie 即将过期,因为 指定 cookie 何时过期,因为如果省略过期时间或将其设置为 0,则 cookie 将在会话结束时(浏览器关闭时)过期。将其更改为某个值,例如 time()+86400*30
更多详情:https://www.w3schools.com/php/func_network_setcookie.asp