如何使用MAMP + MacOSx + PHP在localhost上设置cookie?

时间:2009-03-10 19:09:39

标签: php cookies mamp

我在Mac笔记本上开发,我使用MAMP。我正在尝试用PHP设置cookie,但我不能。我已经离开了域名,我尝试使用“\”作为域名。没运气。

setcookie("username", "George", false, "/", false);
setcookie("name","Joe");

我必须遗漏一些明显的东西。我需要一个快速而简单的解决方案。有吗?

我没有做任何花哨的事情,只是加载(通过MAMP)页面, http://localhost:8888/MAMP/lynn/setcookie.php

在编写HTML标记之前,该脚本在顶部有setcookie代码。 (虽然我也在BODY中尝试过)。我在各种浏览器中加载页面,然后打开cookie列表。我知道浏览器接受cookie,因为我在列表中看到了当前的浏览器。不是我的新人。

3 个答案:

答案 0 :(得分:6)

来自文档:

  

setcookie()定义了一个与其他HTTP头一起发送的cookie。与其他标头一样,必须在脚本的任何输出之前发送cookie(这是协议限制)。这要求您在任何输出之前调用此函数,包括和标记以及任何空格。

是吗?

修改

你能看到服务器发送的cookie,例如使用Firefox扩展篡改数据或telnet?你能看到它在下次请求时被浏览器发回吗? setcookie()的返回值是多少?它不适用于所有浏览器,还是只适用于某些浏览器?

答案 1 :(得分:1)

<?php
ob_start();
if (isset($_COOKIE['test'])) {
    echo 'cookie is fine<br>';
    print_r($_COOKIE);
} else {
    setcookie('test', 'cookie test content', time()+3600);  /* expire in 1 hour */
    echo 'Trying to set cookie. Reload page plz';    
}

试试这个。

答案 2 :(得分:0)

取出“localhost”,只有一个空白字符串为我工作。