我已经做了很多寻找会删除会话变量的代码的工作,而我成功的关键在于:
<cfset StructDelete(Session,"username")>
它第一次工作,然后它永远不会再次工作。我在过去的一个小时里一直在做这件事,我快疯了,任何帮助都将不胜感激。
我不确定这是否相关,但是当我出于某种原因修改 .cfm 时,它似乎并不总是立即“更新”。我的意思是,我会更改一个页面,访问它并且它不会使用新代码。尝试调试时这是一个恐怖...
我已经做了很多寻找会删除会话变量的代码的工作,而我成功的关键在于:
<cfset StructDelete(Session,"username")>
它第一次工作,然后它永远不会再次工作。我在过去的一个小时里一直在做这件事,我快疯了,任何帮助都将不胜感激。
我不确定这是否相关,但是当我出于某种原因修改 .cfm 时,它似乎并不总是立即“更新”。我的意思是,我会更改一个页面,访问它并且它不会使用新代码。尝试调试时这是一个恐怖...
我怀疑你的意思是它重新存在,你认为它应该消失。查找设置变量的任何“cfparams”。它可能会被删除,然后在下一个请求时重新启动。
您还可以添加一个布尔值以在删除它时检查它是否存在。
<cfset exists= structdelete(session, 'username', true)/>
如果它存在,这会给你一个“是”,如果它不存在,它会给你一个“否” - 如果你愿意,你可以执行进一步的逻辑。
您还可以查看您的应用程序名称、会话超时值 onsessionStart() 等。我已经看到每个请求都实例化一个新会话的问题。
我只是cfset会话变量来杀死它......
<cfset session.allowin = "False">
并且 application.cfm 文件总是在寻找真正的......