可能重复:
Calling a variable with a variable in its name - coldfusion?
对不起,我是Coldfusion的新手。试图在工作中更新一些遗留代码......
我使用变量在coldfusion中命名了一个cookie。
<cfcookie name="#FORM.cookie_name#" Expires="#FORM.cookie_expires#">
如何查看Cookie是否未过期?这似乎使页面崩溃......
<cfif isDefined("cookie.#FORM.cookie_name#")>
非常感谢。
答案 0 :(得分:7)
要检查它是否存在,请使用StructKeyExists:
StructKeyExists(Cookie,Form.cookie_name)
要使用该变量,请使用括号表示法:
Cookie[Form.cookie_name]
不要忘记表单变量和Cookie变量都是由用户/客户端提交的 - 因此必须得到适当的处理(即永远不要相信它们包含您认为他们所做的事情,因为它不能保证)。
isDefined("Cookie['#Form.cookie_name#']")
然后将其评估为Cookie['606ac80d']
- 如果没有这些单引号,则它将是无效变量。
正如Leigh所说,上述内容适用于Railo和OpenBD,但不适用于需要编写的Adobe ColdFusion:
isDefined("Cookie.#Form.cookie_name#")
此语法适用于简单的字母数字变量名称,但如果form.cookie_name包含值为.
的值,则可能会导致问题。
答案 1 :(得分:0)
希望这有帮助:)
<cfcookie name="#form.cookie_name#" Expires="#form.cookie_expires#">
<cfif structKeyExists(cookie, form.cookie_name)>
Cookie
</cfif>
与此post
类似的问题