1

我正在尝试为用户登录时设置会话和 cookie。

当用户访问登录页面时,会设置并启动一个会话,使用session_start()它工作得很好,但是当用户现在填写登录表单(使用用户名和密码)并正确检查正确的登录详细信息时,我设置cookie:

$one_week = 60*60*24*7;
setcookie("cookiejarcookie", "cookiejar_value", time()+$one_week, '/', 'localhost');

它不工作,cookie 没有被设置。我试过从脚本顶部调用它,但它不起作用。

设置会话后如何设置cookie?

4

2 回答 2

1

尝试在 localhost 上设置 cookie 在大多数浏览器中不起作用。您需要将域值设置为 null、空字符串或 false。我见过的大多数建议是将域值设置为 false。话虽如此,我从来没有理解过编写这样的代码,因为它不是你要部署到生产环境的东西。

请参阅@David 的推荐。我个人使用虚拟化来运行服务器环境并使用主机文件映射假 dns。

我可以提供的一个提示是,您必须在具有阿联酋的最新版本 Windows 上以管理员身份打开编辑器(我使用记事本++ 或写字板)才能编辑相关的主机文件。

于 2013-04-16T01:18:15.277 回答
1

从我的评论

您不能将 cookie 设置为 localhost,但如果您在主机文件( /etc/hosts 或 c:\Windows\System32\drivers\etc\hosts )中添加一个 my.fake.local 应该可以工作。

添加

127.0.0.1 my.fake.local 

在适当的主机文件中。

于 2013-04-16T01:19:45.790 回答