我尝试为用户登录时设置会话和Cookie。
当用户访问登录页面时,会话设置并启动,session_start()
工作正常,但是当用户现在填写登录表单(使用用户名和密码)并正确检查已完成正确的登录详细信息,我设置了cookie:
$one_week = 60*60*24*7;
setcookie("cookiejarcookie", "cookiejar_value", time()+$one_week, '/', 'localhost');
它没有工作,cookie没有被设置。我已尝试从脚本顶部调用它,但它无效。
如何在设置会话后设置cookie?
答案 0 :(得分:1)
尝试在localhost上设置cookie在大多数浏览器中都不起作用。您需要将域值设置为null,空字符串或false。我见过的大多数建议都是将域值设置为false。话虽如此,我从未理解编写这样的代码,因为它不是你要部署到生产环境的东西。
请参阅@David的建议。我个人使用虚拟化来运行服务器环境并使用hosts文件映射假dns。
我可以提供的一个提示是,您必须在具有UAE的最新版本的Windows上以管理员身份打开您的编辑器(我使用notepad ++或wordpad)才能编辑相关的主机文件。
答案 1 :(得分:1)
从我的评论中
您无法将cookie设置为localhost,但是如果您在主机文件(/ etc / hosts或c:\ Windows \ System32 \ drivers \ etc \ hosts)中添加my.fake.local应该可以正常工作。
添加
127.0.0.1 my.fake.local
在相应的主机文件中。