我正在尝试使用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/但我不确定。
希望这些信息对你有所帮助。