我正在做一个项目,一切都在临时测试站点上工作。今天,我将所有内容迁移到了新主机(justhost.com),由于某种原因,setcookie
在 PHP 中调用该函数时,没有设置任何 cookie。我检查了多个浏览器,但没有任何效果。
这是我正在使用的 setcookie 函数的示例:
setcookie("blah", $login_email, $time, $path);
$path
只是"/"
如果那是相关的。除了数据库详细信息之外,代码与我传输它时完全没有变化。但是,我不明白为什么没有设置 cookie。
我可能需要更改主机中的任何设置吗?我来不及了。
更新:我可以通过回显一些 jQuery 来设置 cookie。但我仍然想知道为什么 PHP 方法不起作用。
更新:我解决了这个问题。我的身体标签中有代码,因为其中一部分还输出了一些信息。我对其进行了更改,以便可以将setcookie
函数移到 html 标记上方。问题是一些主机首先发送标头,然后在其他数据(如正文)开始加载时不发送标头。后来我也遇到了类似的问题,这次是由空格引起的。我在之前的 php 脚本顶部有一条评论,<?php
删除它可以解决另一个问题。包含函数文件中的最后一个问题需要使用ob_start()
和来处理ob_flush()
。