php - Cookie 生成错误:不要设置 [PHP]
问题描述
我用这段代码生成一个字符串:
$order = new Order();
$orderReference = $order->generateNewOrderReference();
echo $orderReference;
setcookie("orderReference", $orderReference, time() + 30*24*60*60, '/', null, false, true);
echo 'papa';
public function generateNewOrderReference() {
$orderReference = strtoupper(bin2hex(openssl_random_pseudo_bytes(4)));
while ($this->orderReferenceAlreadyExists($orderReference)) {
$orderReference = strtoupper(bin2hex(openssl_random_pseudo_bytes(4)));
}
return $orderReference;
}
public function orderReferenceAlreadyExists($orderReference) {
$statement = $this->database->prepare("SELECT order_reference FROM $this->table_name WHERE order_reference = :order_reference");
$statement->bindParam(':order_reference',$orderReference);
$statement->execute();
if (!empty($statement->fetch())) {
return true;
}
return false;
}
这一代有效,因为当我看到我的观点时我有这个:6239B30Bpapa
但我不明白为什么 cookie 没有在我的 localhost 中设置:/。请问有人有想法吗?
看起来任何cookie都可以在这里设置。
此外,我有一个 MVC 架构,共享的代码代表页面模型
其中每个控制器使用 pageName 重定向到路由器
我的路由器方案如下所示:
- 处理算法
- 包括模型
- 包括视图
对不起我的英语。我是法国人。
当我将此代码放入控制器时,可以设置 cookie。所以,我认为如果已经有html代码,我就无法生成cookie。是真的吗?
解决方案
推荐阅读
- c++ - 骨架网格体组件返回 Null PTR(断点使用,Null 变量,可能错误设置变量)
- linux - 如何在运行多个命令 Linux 时并行运行 ssh 连接
- java - Java,不能 Tesseract+Tika
- c - HID 操纵杆可与现代游戏配合使用
- azure - 如何从自托管 Windows 代理上的 Azure DevOps 管道运行 Azure CLI 任务?
- python - 为什么每个请求中的 ID 都不同?
- c++ - SFINAE 没有正确判断方法是否存在
- python - 如何在 Python 的数据框中创建两列的交叉表并在输出中生成总行和列?
- c# - Pop Async 删除内容页面资源标题
- python - 裁剪和保存 Tensorflow 对象检测 API 中的检测