我正在尝试在PHP中创建cookie而不是使用会话。这就是我创建它们的方式:
<body>
一旦完成所有操作,它就位于页面底部。我在页面上看到了回显的行,我也知道$ _POST ['user_name'];包含一个值。所以应该设置cookie。在echo $_COOKIE['name'];
标记正下方的同一页的顶部,我有{{1}}。当我重新加载页面时,我没有看到任何内容,它是一个空白页面。我可以粘贴整个页面,但它是~150行。
答案 0 :(得分:0)
正如您在PHP手册中所读到的,在进行任何输出之前必须调用setcookie()
。
顺便说一下。这有可能创建一个漂亮的XSS,你应该真正过滤POST变量,然后再将其反映为cookie内容。
答案 1 :(得分:0)
cookie与其他HTTP标头一起发送,这意味着它需要在任何页面标记或其他任何内容之前设置。 PHP Cookie Docs
此外,您还要清理任何用户输入以防止任何恶意操作。从PHP 5.2开始,引入了filter_var,可以在这种情况下使用。