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