【问题标题】:Personalized Welcome Messages个性化欢迎信息
【发布时间】:2009-12-01 20:20:02
【问题描述】:

如何在我的主页上创建包含用户名的欢迎消息?

将记录集中的动态字段拖到我的页面上不起作用:

<cfoutput>#Recordset1.Username#</cfoutput>.

它一直使用表中的第一个用户名,而不是我登录的用户。我必须向我的 Application.CFC 页面添加一些内容吗?如果有什么不同,我正在使用 ColdFusion、Dreamweaver 和 MySQL。

感谢您的帮助。

【问题讨论】:

    标签: mysql coldfusion dreamweaver messages application.cfc


    【解决方案1】:

    注意:如果您显示所有代码(您如何登录,如何查询数据集),它将帮助我们帮助您。

    目前很少有非常一般的建议。

    原因是因为您选择了所有(或至少多个)记录。当您仅执行一次输出时,CF 仅显示数据集中的第一条记录。您可以通过遍历数据集来检查这一点:

    <cfloop query="Recordset1">
    <cfoutput>#Recordset1.Username#</cfoutput><br />
    </cfloop>
    

    它应该显示你所有的记录。

    正如 Jason 指出的那样,您应该只选择用户的单个记录。当您执行登录操作时,将用户#(通常是主键,id)​​保存在会话范围内(例如,在 Session.userid 中)并在稍后的查询中使用它(我不知道您的查询,所以这只是为了展示这个想法):

    <cfquery datasource="datasourceName" name="Recordset1">
        SELECT Username FROM users WHERE id = <cfqueryparam cfsqltype="cf_sql_integer" value="#Session.userid#" />
    </cfquery>
    

    假设您有唯一的 id 作为 PK,您将在 Recordset1 中仅获得一条记录,因此您的初始输出将显示正确的用户名。

    【讨论】:

    • 好的,谢谢。我是否必须在我的 Application.CFC 中添加 this.sessionmanagement='true' 或其他内容?你知道我必须添加的代码吗?
    • 好的,这是我的代码:这是我的登录页面代码: SELECT Username,Password FROM users WHERE Username= AND Password=
    • cfsqltype="cf_sql_clob" maxlength="8">
    • 对于我的索引页面记录集,我试图在其中输入“欢迎(用户名)” SELECT * FROM users WHERE users.IDUsers
    • 哈哈。好的,这看起来很复杂,它不会让我将它添加到问题框中..oops,对不起。大声笑
    【解决方案2】:

    似乎您需要在查询中添加 where 子句。

    【讨论】:

    • 我刚刚试了一下,这就是你的意思吗: SELECT * FROM users WHERE users.IDUsers 它仍然可以但是同样的事情,知道为什么吗?
    • 你需要在 where 子句中使用右手表达式。假设您将登录用户的用户 ID 从数据库中存储在 session.userid 中。 SELECT* FROM users WHERE users.IDUsers =
    • 我没有在我的登录中为 IDUsers 设置会话变量 - 你知道我可以输入一些代码来制作一个吗?干杯。
    猜你喜欢
    • 2021-09-23
    • 2016-10-23
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多