我确信这很简单,但我似乎无法做到正确
在ColdFusionII中加密了一个查询字符串,然后很容易解密CGI.Query_String
值。然后我有一个看起来像查询字符串的字符串。但我需要引用查询字符串值,因为我通常使用URL.
表示法(例如)。
我该怎么做?
我已经尝试过以下代码,但似乎无法解析结构中的值:
<cfscript>
myStruct = structNew();
for(i=1; i LTE listLen(decrypted,'&');i=i+1) {
structInsert(myStruct, i, listGetAt(decrypted,i,'&'));
}
</cfscript>
任何帮助表示感谢。
更新:(如果我不清楚,请提供更多信息)
我通过CFLOCATION
使用加密的查询字符串发送数据。只是为了隐藏用户的一些无关信息。我想要做的是在解密后使用查询字符串信息。但我不能再使用ColdFusion URL
结构了。所以我问我如何解析解密后的字符串中的信息,以便我可以使用它(例如在SQL查询的where子句中或只是在页面上显示)。
说我的解密字符串是update=0&balance=1145.00
如何使用<cfoutput>#update#</cfoutput>
等内容?
答案 0 :(得分: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>