2009-12-01 4 views
0

Comment créer un message de bienvenue sur ma page d'accueil avec le nom de l'utilisateur?Messages de bienvenue personnalisés

Faire glisser des champs dynamiques de la recordset sur ma page ne fonctionne pas:

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

Il continue d'utiliser le premier nom d'utilisateur dans la table, pas l'utilisateur que je suis ouvert une session. Dois-je ajouter quelque chose à ma page Application.CFC? J'utilise ColdFusion, Dreamweaver et MySQL si cela fait une différence.

Merci pour votre aide.

Répondre

0

Apparemment, vous devez ajouter une clause where dans votre requête.

+0

je viens de donner un essai, est-ce que vous voulez dire: SELECT * FROM utilisateurs OÙ users.IDUsers Il ne reste le même chose cependant, aucune idée pourquoi? – Bridget

+1

Vous avez besoin d'une expression de droite dans votre clause where. Supposons que vous stockiez l'ID utilisateur de la base de données pour l'utilisateur connecté dans session.userid. SELECT * FROM utilisateurs WHERE users.IDUsers =

+0

Je n'ai pas de variable de session configurée dans ma connexion pour les IDUsers - existe-t-il du code que vous connaissez Je peux en faire un? à votre santé. – Bridget

1

Remarque: Si vous affichez tout le code (comment vous connectez-vous, comment interrogez-vous l'ensemble de données), il nous aidera à vous aider.

Quelques conseils très généraux pour l'instant.

La raison est que vous sélectionnez tous les enregistrements (ou au moins plus d'un). Lorsque vous faites la sortie seulement une fois que CF affiche seulement le premier enregistrement de l'ensemble de données. Vous pouvez vérifier cela en faisant une boucle sur l'ensemble de données:

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

Il devrait afficher tous vos enregistrements. Comme Jason l'a souligné, vous ne devriez sélectionner qu'un seul enregistrement de votre utilisateur. Lorsque vous effectuez une action de connexion, enregistrez l'utilisateur # (généralement clé primaire, ID) dans la portée Session (par exemple, Session.userid) et l'utiliser dans les requêtes plus tard comme ça (je ne sais pas votre requête, donc c'est juste pour montrer l'idée):

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

supposant que vous avez ids uniques comme PK, vous obtenez seulement un enregistrement dans Recordset1, de sorte que votre sortie initiale affichera le nom d'utilisateur correct.

+0

ok, c'est un tas. Dois-je ajouter à mon Application.CFC un this.sessionmanagement = 'true' ou quelque chose? Connaissez-vous le code que je devrai ajouter? – Bridget

+0

OK Heres mes codes: Heres mon code pour mon Connectez-vous à la page: SELECT Nom d'utilisateur, Mot de passe FROM users WHERE Nom d'utilisateur = AND Mot de passe = Bridget

+0

cfsqltype = "cf_sql_clob" maxlength = "8">
< ! --- code pour la gestion du timeout de cflock --->
Bridget

Questions connexes