如何一次通过PHP设置多个cookie?

如何一次通过PHP设置多个cookie?,php,cookies,Php,Cookies,伙计们,这是我第一次来这里,大家好 我在一个小型学校项目中工作,该项目要求我设置两个不同的cookie(一个用于保存用户名,另一个用于更改背景颜色),正如问题标题所述,它仅限于PHP,因此我不断收到:\“无法修改标题信息–标题已发送”。所以,我正在努力让这一切顺利进行 <?php setcookie('name', $_REQUEST['name'], time()+60*60); setcookie('color', $_REQUEST['color'], time()+60*60);

伙计们,这是我第一次来这里,大家好

我在一个小型学校项目中工作,该项目要求我设置两个不同的cookie(一个用于保存用户名,另一个用于更改背景颜色),正如问题标题所述,它仅限于PHP,因此我不断收到:\“无法修改标题信息–标题已发送”。所以,我正在努力让这一切顺利进行

<?php
setcookie('name', $_REQUEST['name'], time()+60*60);
setcookie('color', $_REQUEST['color'], time()+60*60);
header("location:name_of_the_web");
?>

所以,在我的索引页面中,我要求提供请求信息、颜色和名称

<?php
echo "<!DOCTYPE html>
        <html>
        <head>
        <meta charset='UTF-8'>
        <title>Temario</title>
        </head>
        <body>";
    if(!isset($_COOKIE['name']) && !isset($_COOKIE['color'])){
        echo "<form method='post' action='cookies.php'>
...//it keeps going with the form to fill it.
?>
因此您收到“无法修改标题信息–标题已发送”。
如果在修改页眉之前,.php文件的输出已经打印在页面上,则这是php页面中的错误原因

范例 如果你想做类似的事情

<?php

echo "hello";

header("location: anotherPage.php");
?>

你好
然后在这两种情况下都会出现错误。因为echo语句在header()调用之前在屏幕上打印了一些内容

因此,您只需记住,在header()调用之前,页面上不应打印任何内容

否则你的代码就是完美的

<?php
setcookie('name', $_REQUEST['name'], time()+60*60);
setcookie('color', $_REQUEST['color'], time()+60*60);
header("location:name_of_the_web"); 
?>

请记住,不要在同一个.php文件上打印来自html或php的任何内容


您可以使用表单从当前页面运行另一个php页面,然后将Cookie和标头设置回相同或另一个页面。这不会导致该错误。☺

使用
标题(“位置:”)
这可能有助于设置Cookies。这不是问题。但标题信息似乎将被修改,因为“无法修改标题信息–标题已发送”显示。您是否使用
echo
Header()
之前的任何html?好了,伙计们,事实上,当我在帖子上出现时,我使用了页眉,我有两个页面(事实上只有几页),但我保留了一个名为“cookies”的页面,在这里我只设置cookies,我确实有一个页眉将我重定向到索引。好吧,当我在帖子上出现时,我使用了页眉,我有两个页面(事实上有几页),但是我已经预订了一个名为“cookies”的页面,在这里我只设置cookies,我确实有一个标题,可以将我重定向到索引。我可以为不同的Cookie制作两页吗?不,不需要为多个Cookie制作两页,您可以在一页中制作任意数量的Cookie。但是,如果您使用的是header(),请记住,在header()调用之前,不应将任何输出发送到浏览器。你不会出错的。谢谢:)我会试试你给我的。
<?php
setcookie('name', $_REQUEST['name'], time()+60*60);
setcookie('color', $_REQUEST['color'], time()+60*60);
header("location:name_of_the_web"); 
?>