2012-06-25 35 views
2

我敢肯定,这是很简单,但我似乎无法得到它的权利加密和解密查询字符串中的ColdFusion - 解析结果字符串参数和值

在ColdFusionI've加密的查询字符串,然后解密CGI.Query_String值很容易。然后我有一个看起来像查询字符串的单个字符串。但我需要引用查询字符串值,因为我通常会使用URL.表示法(例如)。 我该怎么做?

我尝试下面的代码,但似乎无法解析值超出结构:

<cfscript> 
    myStruct = structNew(); 
    for(i=1; i LTE listLen(decrypted,'&');i=i+1) { 
     structInsert(myStruct, i, listGetAt(decrypted,i,'&')); 
    } 
</cfscript> 

任何帮助表示赞赏。

UPDATE:(更多的信息,如果我还不清楚)

我通过CFLOCATION与加密查询字符串发送数据。只是为了隐藏用户的一些不相关的信息。我想要做的是在解密后使用查询字符串信息。但我不能再使用ColdFusion URL结构。所以我问我如何解析来自解密字符串的信息,以便我可以使用它(例如,在SQL查询的where子句中,或者仅仅显示在页面上)。

说我的解密字符串为update=0&balance=1145.00

如何去使用像<cfoutput>#update#</cfoutput>

+1

也许它只是星期一的早晨,但我不知道你在问什么。你能澄清你的问题吗? – Limey

+1

嗨,我更新上面,(希望)增加更多的感觉。 – eggwater

回答

1

如果str是您的查询字符串:

<CFSET str = "asdf=1&asd&as=3" /> 

<CFSET mystruct = structnew() /> 
<CFLOOP list="#str#" delimiters="&" index="i"> 
    <CFSET key = listfirst(i,"=") /> 
    <CFIF listlen(i,"=") GT 1> 
     <CFSET value = listlast(i,"=") /> 
    <CFELSE> 
     <CFSET value = "" /> 
    </CFIF> 
    <CFSET mystruct[key] = value /> 
</CFLOOP> 
+0

嗨Seybsen,非常感谢这完美的作品。 – eggwater

+1

作为一个例子,如果有人想知道'#mystruct.asdf#' – eggwater