if ($_REQUEST) in Coldfusion


if ($_REQUEST) in Coldfusion

我正在尝试使用if语句来检查用户是否已从具有正确数据的正确位置被引导到此页面。

在php中,我们将使用 if ($_REQUEST) { ...... }

但是我怎么能在冷融合中做到呢?

据此,$_REQUEST为:

默认情况下包含$_GET内容的关联数组,$_POST和$_COOKIE。

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

然而,Coldfusion也有一些框架,比如Coldbox,可以为您管理"请求集合"。

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

您可以使用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引擎Railohttp://getrailo.org.它可能在另一个开源CFML引擎OpenBD上工作http://www.openbluedragon.org/但我不确定。

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