2

我已经做了很多寻找会删除会话变量的代码的工作,而我成功的关键在于:

<cfset StructDelete(Session,"username")>

它第一次工作,然后它永远不会再次工作。我在过去的一个小时里一直在做这件事,我快疯了,任何帮助都将不胜感激。

我不确定这是否相关,但是当我出于某种原因修改 .cfm 时,它似乎并不总是立即“更新”。我的意思是,我会更改一个页面,访问它并且它不会使用新代码。尝试调试时这是一个恐怖...

4

2 回答 2

5

我怀疑你的意思是它重新存在,你认为它应该消失。查找设置变量的任何“cfparams”。它可能会被删除,然后在下一个请求时重新启动。

您还可以添加一个布尔值以在删除它时检查它是否存在。

<cfset exists= structdelete(session, 'username', true)/>  

如果它存在,这会给你一个“是”,如果它不存在,它会给你一个“否” - 如果你愿意,你可以执行进一步的逻辑。

您还可以查看您的应用程序名称、会话超时值 onsessionStart() 等。我已经看到每个请求都实例化一个新会话的问题。

于 2012-05-04T21:11:34.627 回答
0

我只是cfset会话变量来杀死它......

 <cfset session.allowin = "False">

并且 application.cfm 文件总是在寻找真正的......

于 2012-05-06T00:55:45.903 回答