【发布时间】:2018-08-19 17:54:04
【问题描述】:
我有一个 PHP 代码。现在,我正在构建一个 WordPress 网站,而不是一个 HTML/PHP 网站。而且,我在 WordPress 论坛上发布了一个问题,有人说:
您不能在 HTML 头部部分中使用 PHP 设置 cookie。必须在将任何输出发送到浏览器之前设置 Cookie。将代码添加到与“init”挂钩的回调中应该没问题。或者,使用 JavaScript 设置 cookie。
但是,我没有很好的 JavaScript 编程经验。这是我的代码:
<?php
//DETECT REFERRER
if(empty($_SESSION["referrer"]))
{
$referrer = $_SERVER["HTTP_REFERER"];
if(empty($referrer))
$referrer = $_SERVER["SCRIPT_URI"].((!empty($_SERVER["QUERY_STRING"]))? '?'.$_SERVER["QUERY_STRING"]:'');
$_SESSION["referrer"] = $referrer;
}
//DETECT AFFILIATE ID
if(empty($_SESSION["aid"]))
{
$aid = $_GET["aid"];
if(empty($aid))
$aid = $_COOKIE["aid"];
if(empty($aid))
$aid = 1;
setcookie("aid", $aid, strtotime("+10 years"), "/");
$_SESSION["aid"] = $aid;
}
\?>
是否有人有任何 JavaScript 经验并且可以帮助我将此代码从 PHP 转换为 JavaScript?提前致谢。
如果您有任何问题,请发表评论。
如果有人知道如何在每个页面的 html 头部之前插入该代码,那就更好了。但是,我不知道这是否真的可能。
问候, 卢克法斯
【问题讨论】:
-
带有 cookie 获取参数和标头参数的代码仅对服务器的 http 调用有意义。因此,对于服务器端处理(如 php)有意义,但对于前端代码(如 javascript(nodejs 或 somethibg 除外,但我猜你的意思是浏览器内的“正常”js)是有意义的;对吧?
-
为什么不在html头部之前调用你的php代码?
-
@Tyler 我正在使用 wordpress,但我现在不知道如何在每个页面的 HTML 头部之前插入该代码。我找不到任何插件,如果有文件,我不知道我需要编辑什么文件。
标签: javascript php wordpress cookies setcookie