Персональные приветственные сообщения

0

Как создать приветственное сообщение на моей домашней странице с именем пользователя в нем?

Перетаскивание динамических полей из набора записей на мою страницу не работает:

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

Он продолжает использовать первое имя пользователя в таблице, а не пользователь, с которым я вошел. Должен ли я добавить что-то на мою страницу Application.CFC? Я использую ColdFusion, Dreamweaver и MySQL, если это имеет значение.

Спасибо за вашу помощь.

Теги:
coldfusion
messages
dreamweaver

2 ответа

1

Примечание., если вы покажете весь код (как вы входите в систему, как вы запрашиваете набор данных), это поможет нам вам помочь.

На данный момент несколько советов.

Причина заключается в том, что вы выбираете все (или, по крайней мере, более одного) записи. Когда вы делаете вывод только один раз, CF показывает только первую запись из набора данных. Вы можете проверить это, перейдя по набору данных:

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

Он должен показывать все ваши записи.

Как указал Джейсон, вы должны выбрать только одну запись своего пользователя. Когда вы выполняете логин, сохраните пользователь # (обычно первичный ключ, id) в области сеанса (скажем, в Session.userid) и используйте его в запросах позже, как это (я не знаю вашего запроса, так что это просто показать идею ):

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

Предположим, что у вас есть уникальный идентификатор как ПК, вы получите только одну запись в Recordset1, поэтому ваш исходный результат будет показывать правильное имя пользователя.

  • 0
    хорошо, вот куча. Должен ли я добавить в свой Application.CFC a this.sessionmanagement = 'true' или что-то еще? Вы знаете код, который мне нужно добавить?
  • 0
    ОК, вот мои коды: Вот мой код для моего логина на странице: <cfif IsDefined ("FORM.Username")> <cfset MM_redirectLoginSuccess = "index.cfm"> <cfset MM_redirectLoginFailed = "login.cfm"> <cfquery name = " MM_rsUser "datasource =" cfComment "> ВЫБЕРИТЕ имя пользователя, пароль от пользователей ГДЕ имя пользователя = <cfqueryparam value =" # FORM.Username # "cfsqltype =" cf_sql_clob "maxlength =" 45 "> И пароль = <cfqueryparam value =" # FORM. Пароль#"
Показать ещё 9 комментариев
0

Похоже, вам нужно добавить предложение where в свой запрос.

  • 0
    Я только что попробовал, это то, что вы имеете в виду: <cfquery name = "Recordset1" datasource = "cfcommentsite"> SELECT * FROM users WHERE users.IDUsers </ cfquery> Это все еще делает то же самое, есть идеи почему?
  • 1
    Youi нужно выражение правой руки в вашем предложении where. Предположим, вы сохранили идентификатор пользователя из базы данных для вошедшего в систему пользователя в файле session.userid. SELECT * FROM пользователей WHERE users.IDUsers = <cfqueryparam type = "cf_sql_integer" value = "# session.userid #">
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню