gpt4 book ai didi

php - ColdFusion 获取方法

转载 作者:可可西里 更新时间:2023-10-31 23:53:08 26 4
gpt4 key购买 nike

我正在将一个变量的值从一个 http url 发送到另一个 cfm 页面,但我不确定如何在另一个页面上获取该值。在 php 中我们使用 $_GET['variable'];我不确定 ColdFusion 中的那个是什么。

最佳答案

ColdFusion 可以选择访问这些变量,就像您在 PHP 中所做的那样:

PHP:

$foo = $_GET['variablename'];
$bar = $_POST['variablename'];

CF脚本:

foo = URL['variablename'];
bar = FORM['variablename'];

CFML:

<cfset foo = URL['variablename']>
<cfset bar = FORM['variablename']>

编辑:Form Scope Case Insensitivity 的讨论和解决方法

ColdFusion 将(有用吗?)将表单范围内的所有表单字段名转换为大写。在重复字段名的情况下,多个值将合并为一个逗号分隔值。当您无法控制表单本身时,这可能会导致沮丧。

给定形式:

<form name="main" action="handler.cfm" method="post">
<input type="text" name="conFUSion" value="abc" />
<input type="text" name="CONfusion" value="def" />
<input type="submit" name="Submit" />
</form>

接收页面上的表单范围如下所示:

Regular Form Scope

但您可以使用 gethttprequestdata().content 直接访问张贴的原始表单保留大小写的字段和值:

conFUSion=abc&CONfusion=def&Submit=Submit

由于 ColdFusion 结构不区分大小写,我们不能简单地将此字符串解析为常规结构。相反,我们可以转向 java.util.HashMap,它非常像 ColdFusion 结构,但确实保留了大小写:

arFormscope = gethttprequestdata().content.split('&');
cs_form = createobject('java','java.util.HashMap').init();
for( i=1; i<=arraylen(arFormscope); i++ ){
arElement = arFormscope[i].split('=');
key = arElement[1];
value = arElement[2];
cs_form[key] = value;
}

转储 cs_form HashMap ,我们得到:

enter image description here

...最后:

cs_form['CONfusion']; // def
cs_form['conFUSion']; // abc
cs_form['CONFUSION']; // Error, undefined in java.util.HashMap

关于php - ColdFusion 获取方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com