您好,我在此处发布的代码有问题(这是一个非常精简的版本,因此为清楚起见,省略了许多 html 内容)。目标是:它检查 cookie 是否存在并填充它。如果全局变量 $_POST 为空,它会检查 cookie 是否存在或由于某种原因为空。如果 cookie 不存在或为空;它创造了一个。然后在 HTML 表单之前显示内容
单击表单提交后,页面会自动调用,当然 $_POST 也会被填写。因此,代码的后半部分会读取并显示 cookie 的内容。
实际上,当我调用该页面时,会创建 cookie(我用浏览器检查过),但未显示第一次读数!如果我点击提交,我会阅读 cookie 的内容,或者如果我用 F5 刷新页面,它会显示它。
但不是当我加载页面“第一次”时。
请你能帮我找出我犯错的地方吗?
if (!$_POST) {
// Create Cookie
if (!isset($_COOKIE["ID"]) || ($_COOKIE["ID"] != true)){
$order_id = time();
$lifetime = 600;
setcookie("ID",$order_id,time()+$lifetime);
}//End IF "create cookie"
...
...
...
$order_id = $_COOKIE["ID"];
echo $pag = <<< FORM
$order_id
<form action="page.php" method="post">
...
...
<input type="submit">
</form>
FORM;
} elseif ($_POST) {
// Read Cookie for Contract
echo $order_id = $_COOKIE["ID"];
echo $order_id_date = date('l jS \of F Y');
...
...
...
setcookie("ID","",-50000);
} // End IF ELSEIF