我有一个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头之前插入该代码,那就更好了。但是,我不知道它是否真的可能。
此致 Luuk Faasse
答案 0 :(得分:0)
不要使用cookies,使用localStorage / webStorage和JavaScript,这非常简单。 如果你谷歌它,你会发现很多文章。 (来自w3c学校的文章非常好)
我希望,我希望我可以帮助你,尽管我不直接回答你的问题......
伊沃
答案 1 :(得分:0)
基本上,您可以使用Window.sessionStorage
访问会话数据,document.cookie
设置Cookie。
所以我想你可以这样开始:
if(!sessionStorage.getItem('referrer')) {
var referrer = document.referrer;
... your code
}
但由于我并不真正意识到你想要实现的目标,因此很难说这是否正确。您还可以使用其他类型的存储,如前面的答案之一所示。并非所有您想要转换的内容都可以在浏览器中制作。