设置两个会话,一个会话和cookie


Setting two sessions, a session and cookie

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

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

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

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

设置会话后如何设置cookie ?

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

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

我可以提供的一个提示是,您必须在大多数最新版本的具有阿联酋的windows上以管理员身份打开编辑器(我使用notepad++或wordpad),以便编辑相关的hosts文件。

From my comment

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

添加
127.0.0.1 my.fake.local