在检查我的详细信息页面中是否设置了会话变量时,我不断收到“自定义脚本模块中的错误”。即使没有设置会话变量,这个语句不是应该给我真或假而不是错误吗?
<cfif StructKeyExists(session.mysiteShibboleth, "isAuthenticated") and (session.mysiteShibboleth.isAuthenticated) >
<cflog text="Session-Defined-5: isAuthenticated" type="Information" file="Authentication">
<cfelse>
<cflog text="Session-Defined-7: It's not authenticated'" type="Information" file="Authentication">
</cfif>
Run Code Online (Sandbox Code Playgroud)
在我的 authenticate.cfm 文件中,这是设置会话变量的地方。
<cfif cgiReferer eq shibboleth_url>
<cfscript>
session.mysiteShibboleth = StructNew();
session.mysiteShibboleth.username=REReplace(http_header.headers.eppn, "@mysite.com","","ALL");
session.mysiteShibboleth.mail=http_header.headers.eppn;
session.mysiteShibboleth.groups=ArrayToList(REMatch('WEB\.[A-Z.-]+', http_header.headers.member));
session.mysiteShibboleth.isAuthenticated="true";
</cfscript>
</cfif>
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下方法,但仍然出错。我已经阅读了这个线程,它似乎没有解决我的问题。
<cfif IsDefined("session.mysitecShibboleth.isAuthenticated")>
Run Code Online (Sandbox Code Playgroud) 我试图在ColdFusion函数中返回两个变量.
我知道你可以使用&符号在C++中做到这一点.
我的代码:
<cfscript>
function browserDetect(browser,version) {
browser="some value string";
version="some other value string";
}
</cfscript>
Run Code Online (Sandbox Code Playgroud)
其他页面:
<cfoutput>#BrowserName# and #BrowserVer#</cfoutput>
Run Code Online (Sandbox Code Playgroud) 我希望我能正确地提出这个问题.我正在使用ColdFusion 10并且有一个名为mySQL的表companies.在表中有一个名为的字段stateList.它包含逗号分隔的state_IDs列表,其中公司有商店.
我有一个搜索表单供用户选择状态来查找该州的公司.我需要将其传递form.state_ID给搜索查询以查看是否companies.stateList包含form.state_ID.
我试过的唯一代码返回了任何结果,并且它们并非都是正确的结果
<cfquery name="searchCompanies" datasource="#businessDSN#">
SELECT company_id, company_name, stateList
FROM companies
WHERE stateList LIKE "%#form.state_ID#"
</cfquery>
Run Code Online (Sandbox Code Playgroud)
如果我搜索亚利桑那州,state_ID4,上面的查询返回任何公司,其中有4,14,24,34和44 stateList.
我想做什么?感谢您提供的任何帮助.
提交大量表单字段时,即使ColdFusion 9没有,ColdFusion 10也会崩溃.

我有一个购物车阵列运行,我试图动态地将数据传输到屏幕上.
<cfoutput>
<cfloop from="1" to="#ArrayLen(session.shoppingcart)#" index="idx">
<cfloop collection="#session.shoppingcart[idx]#" item="key">
<cfset mydata = session.shoppingcart[idx][key] >
#key# #mydata# #session.shoppingcart[idx][key]#
</cfloop>
</cfloop>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
当我设置mydata变量时,我可以简单地将#mydata#应用到页面并显示.
当我尝试应用于#session.shoppingcart[idx][key]#页面时,我收到一条错误,指出它无法将其显示为简单值.
有关如何在屏幕上显示此信息的任何想法?
提前致谢
如果您有一个向用户显示大量信息的页面(例如客户帐户详细信息),并且此信息需要根据查看页面的人(例如经理,销售人员)而有所不同,我想知道最佳/有效的方式写条件逻辑.
例如,我有一个div,列出了所有客户的个人信息:
<cfif #User.Type# EQ "Sales"> // sales guy view
<div id="peronsonalinfo">
<ul>
<li>Forename Surname</li>
<li>Address</li>
<li>Account Status</li>
<li>Account Manager</li>
..... etc etc
</ul>
</div>
(continues below)
Run Code Online (Sandbox Code Playgroud)
以上情况适用于销售人员,因为他不允许对帐户进行更改.但是经理被赋予了编辑权,所以他需要得到这个.
<cfelseif #User.Type# EQ "Manager">
<div id="peronsonalinfo"> // manager view
<form action="accountedit.cfc">
<ul>
<li> <input type="text" value="Forename Surname" /> </li>
<li> <textarea value="Addres"></textarea> </li>
<li> <input type="text" value="Account status" /> </li>
<li> <input type="text" value="Account manager" /> </li>
..... etc etc
</ul>
</form>
</div>
</cfif>
Run Code Online (Sandbox Code Playgroud)
请原谅减少的代码.可能会有帐户状态和客户经理字段的下拉选择元素.我想说的是,根据你的身份,有两个相同信息的HTML版本.
编写这种逻辑的最佳方法是什么?我这样做的方式似乎是重复代码所以我能想到的唯一其他选择是围绕每个元素进行声明,就像这样?
<form>
<ul>
<li>
<cfif #User.Type# EQ …Run Code Online (Sandbox Code Playgroud) 我有这样的结构:
SESSION.Auth.Access["1"]["2"]["Write"]
Run Code Online (Sandbox Code Playgroud)
如果我cfdump的结构#SESSION.Auth.Access#我可以完整地看到结构,它100%具有嵌套数组中的数据.
但是,如果我使用此声明:
#StructFindValue(SESSION.Auth.Access["1"], '2', 'ALL')#
Run Code Online (Sandbox Code Playgroud)
我得到一个空数组.如果我使用:
#ArrayLen(StructFindValue(SESSION.Auth.Access["1"], '2', 'ALL'))#
Run Code Online (Sandbox Code Playgroud)
然后它返回数组长度的零.
我做了一些明显错误的事情,或者是否存在可能的字符串/数字问题?
我在上传WMV和MPEG文件时遇到问题,'video/x-ms-wmv'(等)在接受列表中 - 我得到一个错误
服务器不接受MIME类型或上载文件application/octet-stream的扩展名
使用Chrome,我检查标题然后读取
内容处理:表格数据; NAME = "fv_file"; filename ="blahblah.wmv"内容类型:video/x-ms-wmv
客户端计算机还具有WMV注册表项,该条目看起来正确.
服务器端Apache配置为使用OS mime类型文件:/etc/mime.types.此文件包含wmv和mpeg的条目:video/x-ms-wmv wmv video/mpeg mpeg
CF10如何确定mimetype?我很难找到这些信息.有没有人有办法解决吗?
谢谢
编辑 - 添加代码
<cffile action="UPLOAD" filefield="fv_file" destination="#pathtotheserverroot##mediadir#/video/" nameconflict="MAKEUNIQUE" accept="#qry_xxxx.OT_MIMETYPES#" mode="644">
Run Code Online (Sandbox Code Playgroud)
OT_MIMETYPES的值是
视频/ MP4,视频/ MPEG,视频/ QuickTime的,视频/ X-msvideo,视频/ X-SGI-电影,视频/ AVI,视频/ vnd.vivo,应用/ vnd.rn-的RealMedia,视频/ vnd.rn-的RealVideo,音频/ vnd.rn-的RealAudio,音频/ X-PN-的RealAudio,视频/ X-MS-WMV,音频/ MPEG,视频/ MPG,视频/ MPE,视频/ X-MS-ASF,视频/ X- M4V
我完成了CFDUMP
Accept video/mp4,video/mpeg,video/quicktime,video/x-msvideo,video/x-sgi-movie,video/avi,video/vnd.vivo,application/vnd.rn-realmedia,video/vnd.rn-realvideo,audio/vnd.rn-realaudio,audio/x-pn-realaudio,video/x-ms-wmv,audio/mpeg,video/mpg,video/mpe,video/x-ms-asf,video/x-m4v
Detail Only files of type video/mp4,video/mpeg,video/quicktime,video/x-msvideo,video/x-sgi-movie,video/avi,video/vnd.vivo,application/vnd.rn-realmedia,video/vnd.rn-realvideo,audio/vnd.rn-realaudio,audio/x-pn-realaudio,video/x-ms-wmv,audio/mpeg,video/mpg,video/mpe,video/x-ms-asf,video/x-m4v can be uploaded. Verify that you are uploading a file of the appropriate type.
Message The MIME type or the Extension of …Run Code Online (Sandbox Code Playgroud) 我正在ColdFusion 11中创建一个Web应用程序,该应用程序最初将由云托管.然而,一些潜在客户更愿意将其自己托管在他们的场所.
这提出了以下问题:
我要解决的第一个问题是如何为每个客户创建一个应用程序每次使用时检查的许可证文件,然后允许客户进入.请记住,整个应用程序由客户托管,所以我不能有一个检查许可的中央系统.我需要一些类似于旧的桌面应用程序在您输入序列号的地方工作,并且它授权产品.
我最初的想法是:
唯一的事情是......它将如何检查"序列有效性".也就是说,我的网络应用程序将如何知道该客户正在使用哪个序列,并将其永久保留到12个月之后的到期日期.
任何人都可以给我一些指示如何为ColdFusion Web应用程序实现这种基于客户端的安全性?
在.CFC文件中,在CF函数内和CFargument标记中.
<cfscript>
var sp=new storedproc();
sp.setDatasource(variables.datasource);
sp.setProcedure("storedProcedure_INSERT");
sp.addParam(cfsqltype="cf_sql_integer",type="in",value=arguments.one);
sp.addParam(cfsqltype="cf_sql_integer",type="in",value=arguments.two);
sp.addParam(cfsqltype="cf_sql_integer",type="in",value=arguments.three);
sp.addParam(cfsqltype="cf_sql_integer",type="in",value=arguments.four);
sp.addProcResult(name="results",resultset=1);
//writeDump(sp);break; //This dump is reached
var spObj=sp.execute(); //blows up here; this is never reached
writeDump(spObj);break; //This is never reached, either.
var spResults=spObj.getProcResultSets().results;
Run Code Online (Sandbox Code Playgroud)
任何能告诉我为什么sp.execute()爆炸消息的人都会发出闪亮的光芒
"Cannot find results key in structure.
The specified key, results, does not exist in the structure."
Run Code Online (Sandbox Code Playgroud)
我曾经多次使用这个伪代码,过去可能会使用它,而且从来没有这样做过.我已连接到MSSQL Server 2012数据库,CF Admin中的所有内容都是板球,其他SP正常运行.堆栈跟踪甚至根本不包含任何MY代码o_O
错误发生在C:/ColdFusion10/cfusion/CustomTags/com/adobe/coldfusion/base.cfc:cline 491来自C:/ColdFusion10/cfusion/CustomTags/com/adobe/coldfusion/storedproc.cfc:line 142来自//hq-devfs/development$/websites/myProject/cfc/mySOAPWSDLs.cfc:line 123
如果我再尝试粘贴,那么SO就会爆炸.谷歌......没有帮助._.
sql-server coldfusion stored-procedures sql-server-2012 coldfusion-10