Php 为什么';我的饼干还没做好吗

Php 为什么';我的饼干还没做好吗,php,cookies,Php,Cookies,我正在尝试测试浏览器中设置的cookie,之前的cookieid是在url中给出的(mydomain.com?cookieid=1234)。现在我试图通过调用设置cookie的脚本来设置cookie。当我加载名为procedure.php的脚本时,我希望它继续运行,并按照我编写的那样设置cookie。但它并没有像我想的那样设置cookie procedure.php <?php $cookieid = 1234; include('bin/setcookie.php'); ?>

我正在尝试测试浏览器中设置的cookie,之前的cookieid是在url中给出的(mydomain.com?cookieid=1234)。现在我试图通过调用设置cookie的脚本来设置cookie。当我加载名为procedure.php的脚本时,我希望它继续运行,并按照我编写的那样设置cookie。但它并没有像我想的那样设置cookie

procedure.php

<?php

$cookieid = 1234;
include('bin/setcookie.php');

?>

setcookie.php

<?php
include_once dirname(__FILE__).'/../Lodread.php';

    $cookieid = isset($_REQUEST["cookieid"]) ? floatval($_REQUEST["cookieid"]) : 0;
    $project_id = isset($_REQUEST["projectid"]) ? intval($_REQUEST["projectid"]) : 0;
    if (isset($_SERVER['HTTP_REFERER'])){
        $urlParts=parse_url($_SERVER['HTTP_REFERER']);
        if (isset($urlParts['query'])){
            $vars = parse_str($urlParts['query']);
            if (isset($vars['cookieid']) && floatval($vars['cookieid']) > 0 ){
                $cookieid = floatval($vars['cookieid']);
            }
        }
    }         
    if ($cookieid) {
        if ( ! isset($_COOKIE["cid"])){
            $cid = ($project_id?"$project_id:$cookieid":$cookieid);
            setcookie("cid", $cid, time() + 60 * 60 * 24 * 365, "/", ".mydomain.com");
            header('Location: '.Config_Reader::readProjectConfig('Cookie')->base_url.'/set2.php');
        }
    }
?>

这是示例,请像这样尝试

如何获取Cookie的内容:

可以从变量$\u COOKIE['COOKIE\u name']中检索为页面设置的COOKIE,其中'COOKIE\u name'是您先前设置的COOKIE的名称

例如,如果您想要显示“userlogin”cookie的值,那么下面的代码应该可以完成这个任务

echo "Welcome back to the site" . $_COOKIE['userlogin'] ;
请注意,您不能在PHP中设置cookie,而希望在同一脚本会话中立即检索cookie。以以下非工作PHP代码为例:

/* WARNING: THIS WILL NOT WORK */
setcookie ( "userlogin", "anonymous", time()+60 );
echo "Value of userlogin: " . $_COOKIE['userlogin'] ;

在使用setcookie函数时,请在不指定域的情况下进行尝试。另外,我建议将$cid直接传递给header函数,因为不能立即在同一个php脚本中检索cookie值。最后,您可以通过在单独的php脚本中使用$\u cookie['cookie\u name']获取cookie的值来查看cookie是否已设置为将来使用。

设置cookie而不使用“mydomain.com”。 使用以下命令:

setcookie("cid", $cid, time() + 60 * 60 * 24 * 365, "/");

现在检查cookie集。

设置cookie后,.mydomain.com的角色是什么?设置cookie后,它将显示mydomain.com作为主机mydoamin.com是必不可少的,因为我会检查cookie,即使您的站点使用了.mydomain.com,您可能仍然希望将一些Cookie设置为*.mydomain.com,这样它们也可以在abc.mydomain.com这样的子域上读取。我不想检索wall,我希望它只需设置cookiesetcookie(“TestCookie”,$value,0,“/”,“.example.com”);像这样试试