Bonjour tout le monde,
Cette requête ne renvoit rien...
@usr = @params["user"]
@pwd = @params["pwd"]
@id = Utilisateur.find(:all, :select => "id", :conditions => "nomUser = @usr")
Merci de dépatouiller un débutant
Bonjour tout le monde,
Cette requête ne renvoit rien...
@usr = @params["user"]
@pwd = @params["pwd"]
@id = Utilisateur.find(:all, :select => "id", :conditions => "nomUser = @usr")
Merci de dépatouiller un débutant
Bonjour
C'est normale que ta requête ne retourne rien, tu recherche ici littéralement un utilisateur ayant pour nom la chaîne '@usr'
il faudrai au minimum interpréter ta variable :
et histoire d'éviter toute injection, cette forme serai nettement recommandée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part @id = Utilisateur.find(:all, :select => "id", :conditions => "nomUser = #{@usr}")
Code : Sélectionner tout - Visualiser dans une fenêtre à part @id = Utilisateur.find(:all, :select => "id", :conditions =>['nomUser = ?', @usr])
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
Merci,
Mais j'ai encore qq souci. J'ai essayé les 2 solutions, la première
@id = Utilisateur.find(:all, :select => "id", :conditions => "nomUser = #{@usr}")
donne un undfined column
et la deuxième
@id = Utilisateur.find(:all, :select => "id", :conditions =>['nomUser = ?', @usr])
donne un # , si je l'affiche avec un render_text @id.to_s
Depuis les deux champs que je récupère dans un formulaire, respectivement:
@usr = @params["user"]
@pwd = @params["pwd"]
C'est récupérer l'id de l'utilisateur avec la requete plus haut pour avoir l'identifiant dans toutes les pages.
Est ce que cela vous semble juste pour la première demarche ou est ce qu'il y des fonctions spécifique à ruby pour ce genre de code??
Encore Merci.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager