如果($ _REQUEST)在Coldfusion中

时间:2012-02-29 23:34:14

标签: php facebook coldfusion get request

我正在尝试使用if语句检查用户是否已使用正确的数据从正确的位置定向到此页面。

我们会在php中使用

if ($_REQUEST) { ...... }

但我怎么能在coldfusion中做到这一点?

2 个答案:

答案 0 :(得分:5)

根据this,$ _REQUEST是:

  

一个关联数组,默认包含$ _GET的内容,   $ _POST和$ _COOKIE。

在这种情况下,Coldfusion中没有等效物。 $ _GET将等同于CF的URL范围。 $ _POST将等同于CF的FORM范围。 $ _COOKIE与CF的COOKIE范围相当。您需要根据您要查找的内容来检查相应的范围。

然而,Coldfusion的框架,如Coldbox,为您管理“请求集合”。

答案 1 :(得分:4)

有了更多信息,这个答案可能会更完整。

您可以使用CGI.HTTP_REFERER查看用户来自哪里。例如:

if (CGI.http_referer contains 'www.good-domain.com') { ... do something here ... }

您需要检查URL或FORM范围以检查数据,看它是否是“正确的数据”。您可以使用这样的简单检查这些值(检查表单范围 - 在请求正文中发布数据时使用):

requestIsGood = true;
requiredKeys = ['keyA','keyB','keyC'];
for (key in requiredKeys) {
    if (!structKeyExists(FORM,key) {
        requestIsGood = false;
        break;
    }
}

if (requestIsGood) { ... do something here ...}

最后,ColdFusion(CFML)中的URL和FORM范围之间的区别在于url的查询字符串中的值将填充到URL范围。表单发布的值将存在于FORM范围中。

对于Adobe ColdFusion 9+ http://adobe.com/go/coldfusion和开源CFML引擎Railo http://getrailo.org,代码示例应该是准确的。它可能适用于另一个开源CFML引擎OpenBD http://www.openbluedragon.org/,但我不确定。

希望这些信息对您有所帮助。