【问题标题】:PHP & JQuery passing variablesPHP & JQuery 传递变量
【发布时间】:2013-09-13 01:31:16
【问题描述】:

我正在为 WordPress 创建一个插件,我被困了两天,试图找出一种将变量及其值从 jQuery 传递到 PHP 的方法,目前我已经求助于设置内部条件的布尔输出一个 cookie,然后用 PHP 读取它以执行和更新。

jQuery 我正在使用 activeStatus 在 jQuery 中执行一些条件,然后我设置一个 cookie 以便继续在 PHP 中执行其他条件集

var activeStatus = true;
jQuery.cookie('activeStatus', true, {expires: 1, path: '/'});

PHP 现在我们读取 jQuery 设置的 cookie 并执行更新

if (!isset($_COOKIE["uniqueUser"])) { //unique visitor
            if ($_COOKIE["activeStatus"] == 'true') { //if cookie found and true
                $uniqueVisitor = get_option('stats');
                $uniqueVisitor['uniqueVisits']+=1;
                update_option('stats', $uniqueVisitor);
             }

现在的问题是,第二个 if 条件永远不会执行,因为 cookie 只能在第二次刷新时读取,因此,更新将永远不会发生,因为 cookie 会被设置。出于这个原因,我希望实时传递变量。

我还想提一提的是,我正在使用 PHP 来打印整个 javascript,即

<?php

add_action('exec_script', 'script');
function script() {
?>

<script type="text/javascript">
//code
</script>

<?php
}

为了满足我的目的,我需要在页面中打印 js 代码,并且不能将其保存在 js 文件中。

有人有什么想法吗?

【问题讨论】:

    标签: javascript php jquery wordpress


    【解决方案1】:

    您应该使用一个用 ajax 调用的 PHP 脚本来设置 cookie。然后,当您加载下一页时,它已经设置为 PHP 脚本可以找到它。我承认我不知道 jquery.cookie 的来龙去脉,所以这可能不是答案。但这是我要开始的。

    【讨论】:

      【解决方案2】:

      只需在页面上的脚本标记内输出变量,如下所示:

      <script>
        window.myvariable = "<?php $my_string ?>"
      </script>
      

      相反,我建议将您的变量放在发布请求中。因此,如果它是用户单击的按钮,请执行以下操作:

      <form action="/action.php">
        <input id="hidden_input" name="the_value" type="hidden" value="">
        <input type="submit" value="Click here to send variable">
      </form>
      
      <script>
        $("#hidden_input").value(javascript_variable);
      </script>
      

      【讨论】:

      • 我需要反过来。从js到php
      【解决方案3】:

      我认为您正在计算唯一身份访问者,所以使用

      if (!isset($_COOKIE["activeStatus"]) && !isset($_COOKIE['uniqueVisitor']))) { } 
      

      它会在第一次而不是之后增加统计数据

      【讨论】:

      • 活动状态用于收集其他数据,所以我需要唯一用户和活动状态
      • @JoseDavidGarciaLlanos - 与 !isset 一起使用
      猜你喜欢
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-24
      • 2018-03-05
      相关资源
      最近更新 更多