Javascript 尝试使用PHP会话创建一个google utm查询字符串并用JSON解析它

Javascript 尝试使用PHP会话创建一个google utm查询字符串并用JSON解析它,javascript,php,json,wordpress,utm,Javascript,Php,Json,Wordpress,Utm,我试图用PHP会话创建一个Google UTM查询字符串,然后用JSON解析它。我正在努力确保我没有任何错误。我想会话url查询字符串,其中包含google utm参数(adwords活动),然后解析这些值并将它们插入到隐藏的表单字段中。这看起来对吗?我的代码如下。让我知道。谢谢大家! <?php if (!session_id()) { session_start(); } if (!isset($_SESSION['googy'])) { $_SESSION['

我试图用PHP会话创建一个Google UTM查询字符串,然后用JSON解析它。我正在努力确保我没有任何错误。我想会话url查询字符串,其中包含google utm参数(adwords活动),然后解析这些值并将它们插入到隐藏的表单字段中。这看起来对吗?我的代码如下。让我知道。谢谢大家!

<?php

if (!session_id()) 
{
    session_start();
}

if (!isset($_SESSION['googy'])) 
{
    $_SESSION['googy'] =  $_SERVER["QUERY_STRING"]; 
}

if (isset ($_SESSION['googy']) )
    $goo .= $_SESSION['googy'];

?>

<script type="text/javascript">
jQuery(document).ready(function() {

var query = '<?php echo $goo; ?>';
query = query.replace(/%20/g," ");
query = query.replace(/%21/g,"!");
query = query.replace(/%22/g,'"');
query = query.replace(/%23/g,"#");
query = query.replace(/%24/g,"$");
query = query.replace(/%25/g,"%");
query = query.replace(/%26/g,"&");
query = query.replace(/%27/g,"'");
query = query.replace(/%28/g,"(");
query = query.replace(/%29/g,")");
query = query.replace(/%2A/g,"*");
query = query.replace(/%2B/g,"+");
query = query.replace(/%2C/g,",");
query = query.replace(/%2D/g,"-");
query = query.replace(/%2E/g,".");
query = query.replace(/%2F/g,"/");

var parameters = {};

if (query) {
    var search_arr = query.split("&");
    for (var item in search_arr) {
        if (search_arr[item]) {
            var item_arr = search_arr[item].split("=");
            if (item_arr[1]) {
            parameters[item_arr[0]] = item_arr[1];
            }
        }
    }
}

if (JSON.stringify(parameters) != '{}') {
    for (var prop in parameters) {
        jQuery("#" + prop).val(parameters[prop]);
    }

}
});
</script>

jQuery(文档).ready(函数(){
var查询=“”;
query=query.replace(/%20/g,“”);
query=query.replace(/%21/g,“!”);
query=query.replace(/%22/g,“”);
query=query.replace(/%23/g,“#”);
query=query.replace(/%24/g,“$”);
query=query.replace(/%25/g,“%”);
query=query.replace(/%26/g,“&”);
query=query.replace(/%27/g,“”);
query=query.replace(/%28/g,“(”);
query=query.replace(/%29/g,“)”;
query=query.replace(/%2A/g,“*”);
query=query.replace(/%2B/g,“+”);
query=query.replace(/%2C/g,“,”);
query=query.replace(/%2D/g,“-”);
query=query.replace(/%2E/g,“.”);
query=query.replace(/%2F/g,“/”);
var参数={};
如果(查询){
var search_arr=query.split(“&”);
for(搜索中的var项目){
如果(搜索[项目]){
var item\u arr=search\u arr[item]。拆分(“”);
如果(第[1]项){
参数[item_arr[0]]=item_arr[1];
}
}
}
}
if(JSON.stringify(参数)!='{}'){
用于(参数中的var prop){
jQuery(“#”+prop).val(参数[prop]);
}
}
});

在编写类似这样的怪物之前,请先阅读手册。有一个用于处理类似字符串的PHP和JavaScript函数。重要的是要了解什么样的事情应该是一个解决的问题,并寻找合适的工具,而不是自己动手做。“这看起来正确吗?“好吧,行吗?如果它起作用,它必须至少基本正确。如果它不起作用,修改你的问题,说明它是如何起作用的。谢谢你们。我相信它现在起作用了。虽然,在我使用query.length和item_arr[1]之前,我在Apache中得到了“file name too long error”,在控制台日志中得到了“Uncaught property'length”。所以,我不确定我是否还需要长度。