PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Fenetre authentification
Fenetre authentification
Started by Cédric, Mar., 30 2006 12:21 PM - 11 replies
Posted on March, 30 2006 - 12:21 PM
Bonjour à tous!
Je suis actuellemnt en stage et je dois réaliser une application avec Windev ( je suis debutant!) .

Je souhaite y insérer une fenetre d'authentification et je ne sais pas comment on fait pour:
*recuperer les valeurs dans les champs
*et sur le clic du bouton ok, controler si le login et le mdp sont corrects ( mes logins et mdp sont stockés dans une table dans une base sql server, connxion avec acces ole db sql server )

merci d avance.
Posted on March, 30 2006 - 2:40 PM
Tu as le choix :

- Utiliser le composant GestionLogin fourni avec WD 10 (présent dans le kouglof)

- Créer ta propre fenêtre avec 2 champs saisie : login et mot de passe et 2 boutons OK et Annuler . Tu crées un requête paramétrée pour récupérer le mot de passe associé au login. Dans le code du bouton OK il te suffit alors d'exécuter la requête paramétrée et de comparer son résultat avec le mot de passe saisi par l'utilisateur.
Posted on March, 30 2006 - 4:00 PM
merci pour ton aide!
j'ai réussi a le faire ce matin, mais la je bloque au niveau de ma requete!
je ne sais pas comment je dois recupérer la valeur de mes champs ( SAIS_PSEUDO ET SAIS_MDP ) pour les mettre dans ma requete!

voici mon code:

CONNEXION est une chaîne
CONNEXION = SQLConnecte("CODIF", "sa", "sa", "CODIF", "hODBC")

RES est un booléen
RES = SQLExec(" SELECT login, mdp FROM Login WHERE login = 'SAIS_PSEUDO' AND mdp = 'SAIS_MDP' ", "AUTH")
SQLInfoGene("AUTH")
Info("Erreur SQL : " + SQL.MesErreur)

SI RES = Vrai ALORS
Info(" Bienvenue dans CODIF ! ")

SINON
Info(" Login et/ou mot de passe erroné(s) ")
FIN
Posted on March, 30 2006 - 4:12 PM
Cédric avait soumis l'idée :
merci pour ton aide!
j'ai réussi a le faire ce matin, mais la je bloque au niveau de ma requete!
je ne sais pas comment je dois recupérer la valeur de mes champs (
SAIS_PSEUDO ET SAIS_MDP ) pour les mettre dans ma requete!

voici mon code:

CONNEXION est une chaîne
CONNEXION = SQLConnecte("CODIF", "sa", "sa", "CODIF", "hODBC")

RES est un booléen
RES = SQLExec(" SELECT login, mdp FROM Login WHERE login = 'SAIS_PSEUDO' AND
mdp = 'SAIS_MDP' ", "AUTH") SQLInfoGene("AUTH")
Info("Erreur SQL : " + SQL.MesErreur)

SI RES = Vrai ALORS
Info(" Bienvenue dans CODIF ! ")

SINON
Info(" Login et/ou mot de passe erroné(s) ")
FIN


salut,
la meilleure solution est de passer a travers une chaine construite :
exemple
mareq est une chaine=
[
SELECT login, mdp FROM Login
WHERE login =%1
AND mdp=%2
]
mareq=chaineconstruit(mareq,SAIS_PSEUDO,SAI_MDP)
sqlexec(mareq,"AUTH")
.....

voila, ça devrait le faire...
@+++

--
[Bernard Vessiot]
34980 Saint Gély du Fesc
Posted on March, 30 2006 - 4:43 PM
CONNEXION est une chaîne
CONNEXION = SQLConnecte("CODIF", "sa", "sa", "CODIF", "hODBC")

Info(SAIS_PSEUDO, SAIS_MDP)

REQ est une chaîne = [
SELECT login, mdp FROM Login
WHERE login =%1
AND mdp=%2
]
REQ = ChaîneConstruit(REQ,SAIS_PSEUDO,SAIS_MDP)

RES est un booléen
RES = SQLExec(REQ,"AUTH")

SQLInfoGene("AUTH")
Info("Erreur SQL : " + SQL.MesErreur)

SI RES = Vrai ALORS
Info(" Bienvenue dans CODIF ! ")
SINON
Info(" Login et/ou mot de passe erroné(s) ")
FIN

SQLFerme("AUTH")

>j'ai encore la meme erreur qu'avec mon code précedent : Erreur SQL : [Microsoft][ODBC SQL Server Driver][Sql Server]'cedric' , "cedric" representant mon login

merci d'avance
Posted on March, 30 2006 - 4:44 PM
CONNEXION est une chaîne
CONNEXION = SQLConnecte("CODIF", "sa", "sa", "CODIF", "hODBC")

Info(SAIS_PSEUDO, SAIS_MDP)

REQ est une chaîne = [
SELECT login, mdp FROM Login
WHERE login =%1
AND mdp=%2
]
REQ = ChaîneConstruit(REQ,SAIS_PSEUDO,SAIS_MDP)

RES est un booléen
RES = SQLExec(REQ,"AUTH")

SQLInfoGene("AUTH")
Info("Erreur SQL : " + SQL.MesErreur)

SI RES = Vrai ALORS
Info(" Bienvenue dans CODIF ! ")
SINON
Info(" Login et/ou mot de passe erroné(s) ")
FIN

SQLFerme("AUTH")

>j'ai encore la meme erreur qu'avec mon code précedent : Erreur SQL : [Microsoft][ODBC SQL Server Driver][Sql Server]'cedric' : nom de colonne incorrect ,
"cedric" representant mon login

merci d'avance
Posted on March, 30 2006 - 5:20 PM
Vérifie si ce n'est pas une histoire de guillemets, on sait jamais.
Posted on March, 30 2006 - 5:30 PM
cedric vient de nous annoncer :
CONNEXION est une chaîne
CONNEXION = SQLConnecte("CODIF", "sa", "sa", "CODIF", "hODBC")

Info(SAIS_PSEUDO, SAIS_MDP)

REQ est une chaîne = [
SELECT login, mdp FROM Login
WHERE login =%1
AND mdp=%2
]
REQ = ChaîneConstruit(REQ,SAIS_PSEUDO,SAIS_MDP)

RES est un booléen
RES = SQLExec(REQ,"AUTH")

SQLInfoGene("AUTH")
Info("Erreur SQL : " + SQL.MesErreur)

SI RES = Vrai ALORS
Info(" Bienvenue dans CODIF ! ")
SINON
Info(" Login et/ou mot de passe erroné(s) ")
FIN

SQLFerme("AUTH")

j'ai encore la meme erreur qu'avec mon code précedent : Erreur SQL :
[Microsoft][ODBC SQL Server Driver][Sql Server]'cedric' : nom de colonne
incorrect ,
"cedric" representant mon login


merci d'avance


bien sur, autant pour moi !
il faut mettre la chaine sous cette forme :
REQ est une chaîne = [
SELECT login, mdp FROM Login
WHERE login ='%1'
AND mdp='%2'
]
j'avais simplement oublié les ' !!!
Aaaah fatigue,fatigue...

@+++

--
[Bernard Vessiot]
34980 Saint Gély du Fesc
Posted on March, 30 2006 - 5:30 PM
REQ est une chaîne = [
SELECT login, mdp FROM Login
WHERE login =%1
AND mdp=%2
]
REQ = ChaîneConstruit(REQ,SAIS_PSEUDO,SAIS_MDP)



Je crois qu'il manque des quotes autour de %1 et %2 (je suppose que c'est des chaines...)

REQ est une chaîne = [
SELECT login, mdp FROM Login
WHERE login ='%1'
AND mdp='%2'
]
REQ = ChaîneConstruit(REQ,SAIS_PSEUDO,SAIS_MDP)

Si on ne met pas les quotes, le systeme pense que l'on parle d'une colonne et non pas d'une chaine, d'ou l'erreur

Lionel
Posted on March, 30 2006 - 5:57 PM
merci a tous!
je n'ai plus l'erreur!

par contre, est qu'une requete executée avec sqlexec renvoie Vrai meme si on met des valeurs n'existant pas dans ma table?
parce que moi, lorsque je renseigne mes champs par des 'utilisateurs' inconnus, sqlexec renvois Vrai!
Posted on March, 30 2006 - 6:21 PM
La réponse renvoyée ici veut seulement dire que la requete s'est executée correctement, pas qu'un enregistrement a été retourné.
SQLExec renverra vrai meme si la requete est une requete de suppression, tant que la requete est valide.


Lionel
Posted on March, 30 2006 - 6:48 PM
ok merci!