【发布时间】:2015-11-06 19:56:42
【问题描述】:
我有一个 PHP 函数,它使用 $_GET 从 URL 中获取 'utm_source' 并将其设置在 cookie 中。
<?php
if(!isset($_COOKIE['utm_src'])) {
$utm_src = $_GET['utm_source'];
setcookie("utm_src", $utm_src, 0, "/");
}
?>
这一切都发生在发送任何 HTML 之前(在 functions.php 中使用 Wordpress),并且当我在页面加载后检查 cookie 时似乎正在正确写入。
当我尝试将变量回显到 javascript console.log 以确保一切正常时,会出现问题:
<?php
$utm_src = $_COOKIE['utm_source'];
echo "<script>console.log('utm is $utm_src');</script>";
?>
奇怪的是,当我查看源代码时,脚本似乎是正确编写的,包括变量,但不是在控制台中。
这是页面加载后实际源代码中显示的内容:
<script>
console.log('utm is utm-name-here');
</script>
但是,控制台只显示 'utm is ',没有变量。我希望使用 cookie 变量来确定是否应将脚本回显到页面上。
【问题讨论】:
标签: javascript php wordpress cookies