PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Fenetre authentification
Fenetre authentification
Iniciado por boucherc, 30,mar. 2006 12:21 - 11 respuestas
Publicado el 30,marzo 2006 - 12:21
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.
Publicado el 30,marzo 2006 - 14:40
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.
Publicado el 30,marzo 2006 - 16:00
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
Publicado el 30,marzo 2006 - 16:12
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
Publicado el 30,marzo 2006 - 16:43
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
Publicado el 30,marzo 2006 - 16:44
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
Publicado el 30,marzo 2006 - 17:20
Vérifie si ce n'est pas une histoire de guillemets, on sait jamais.
Publicado el 30,marzo 2006 - 17:30
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
Publicado el 30,marzo 2006 - 17:30
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
Publicado el 30,marzo 2006 - 17:57
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!
Publicado el 30,marzo 2006 - 18:21
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
Publicado el 30,marzo 2006 - 18:48
ok merci!