【问题标题】:I want to convert a PHP code to JavaScript我想将 PHP 代码转换为 JavaScript
【发布时间】: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


【解决方案1】:

所以基本上你可以使用Window.sessionStorage 访问会话的数据并使用document.cookie 设置cookie。

所以我猜你可以这样开始:

if(!sessionStorage.getItem('referrer')) {
    var referrer = document.referrer;
    ... your code
}

但由于我并不真正了解您要达到的目标,因此很难说这是否是正确的方法。您还可以使用前面的答案之一中提供的其他类型的存储。并非所有您想要转换的内容都可以在浏览器中完成。

【讨论】:

    【解决方案2】:

    不要使用 cookie,使用带有 JavaScript 的 localStorage/webStorage,这真的很容易。 如果你谷歌它,你会发现很多文章。 (w3c学校的文章很好)

    我希望,我希望我能帮助你,虽然我不直接回答你的问题......

    伊沃

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-29
      • 2021-09-25
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多