我正在尝试为用户登录时设置会话和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