我有一个成员区,当登录到一个名为“userid”的 session 变量时,它会被创建。它适用于所有页面。我有一个启用了 session 管理的 application.cfm 文件。
问题是我有一个 flash 录像机,它出现在一个新窗口中,该窗口发布到一个名为 save.cfm 的文件。一旦我在 Flash 记录器上单击保存,它就会发布到 save.cfm 并且我收到错误。它们都在同一个域中,所以我不明白为什么我会收到 500 Element USERID is undefined in SESSION
错误。表单与该值无关,该值由 session 获取。
最佳答案
我怀疑 flash 播放器没有发送 cfid/cftoken cookie,因此 CF App 服务器无法确定此流量属于哪个 session ,因此无法加载 session 变量。
要确认这一点,请在您向 save.cfm 页面发帖时在 save.cfm 页面上记录 cookie 结构的内容。或者,更好的是,使用数据包嗅探器/代理来观察流量。
您可能必须通过将 session.urltoken 添加到 url 来明确地将 session token 包含在您要发布到的 url 中。
因此,当您为录像机的帖子配置目标时(假设它由 CF 生成),而不是使用
save.cfm
使用
save.cfm?#urlEncodedFormat(session.urltoken)#
More info from Ray Camden on a similar issue with flash posting
关于flash - Flash 中的 ColdFusion session 未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5047506/