我正在尝试创建一种方法来显示和隐藏页面上的许多不同元素,具体取决于用户是否登录。
例如,如果用户未登录,我想隐藏“注销”,而当用户登录时隐藏“登录”。
我正在使用 Coldfusion 和 Dreamweaver - 是否有任何快速简单的代码可以用来环绕我想要隐藏的页面元素?
谢谢你的帮助。乔治亚州。
我正在尝试创建一种方法来显示和隐藏页面上的许多不同元素,具体取决于用户是否登录。
例如,如果用户未登录,我想隐藏“注销”,而当用户登录时隐藏“登录”。
我正在使用 Coldfusion 和 Dreamweaver - 是否有任何快速简单的代码可以用来环绕我想要隐藏的页面元素?
谢谢你的帮助。乔治亚州。
一般来说,如果你有一个名为“loggedIn”的会话变量并且(假设它是布尔值)它很简单:
<cfif session.loggedIn>
<!--- display logged in code --->
</cfif
或者
<cfif NOT session.loggedIn>
<!--- display not logged in code --->
</cfif>
但是,我的意思是,这实际上取决于您如何跟踪用户是否登录。
如果您使用 Dreamweaver 的登录用户服务器行为,它会创建一个名为 MM_Username (Session.MM_Username) 的会话变量,其中包含登录表单中的用户名。当该变量存在并且不是空字符串时,则认为用户已登录。您需要做的就是检查该变量是否存在并且它不是空字符串。
我的 CF 生锈了,我没有安装 ColdFusion 的系统来为您提供经过测试的代码,但它应该类似于以下内容:
<cfif IsDefined(Session.MM_Username) And Session.MM_Username NEQ "">
Logout link here
<cfelse>
Log in link here
</cfif>
仅供参考:注销用户服务器行为将该会话变量设置为空字符串,而不是销毁该变量,这就是为什么您需要使用 Dreamweaver 登录/注销服务器行为检查它是否不是空字符串的原因。
如果您使用 Coldfusion 内置的标准 CFLOGIN,您可以通过检查登录用户来显示/隐藏元素:
<cfif GetAuthUser() neq "">
Show Logout button
</cfif>