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

时间:2013-04-16 01:12:27

标签: php

我尝试为用户登录时设置会话和Cookie。

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

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

它没有工作,cookie没有被设置。我已尝试从脚本顶部调用它,但它无效。

如何在设置会话后设置cookie?

2 个答案:

答案 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 

在相应的主机文件中。