• 18 Mai 2024, 22:59:58


Auteur Sujet: Problème connection  (Lu 1998 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Kevin_Carter

  • *
  • Tueur en série
  • Messages: 121
    • Voir le profil
Problème connection
« le: 10 Avril 2013, 22:38:20 »
Bonjour, Encore une fois, j'ai un problème durant la connection...
Lorsque j'entre mon mot de passe pour me connecter ça fonctionne. Très bien
Mais si j'entre n'importe quoi comme "Test12" je peux quand même entrer...
Voici le code : http://pastebin.com/q8Vt12Mb

J'espère que vous pourrez trouver l'erreur et je vous remercie d'avance ciao

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : Problème connection
« Réponse #1 le: 10 Avril 2013, 23:20:35 »
http://wiki.sa-mp.com/wiki/Strcmp

en note il est marque que si la string est vide la fonction peut retourner 0 vérifie ce que tu obtien de ton dini_Get
et que tu obtient bien le pass saisie dans ton inputtext


Hors ligne Kevin_Carter

  • *
  • Tueur en série
  • Messages: 121
    • Voir le profil
Re : Problème connection
« Réponse #2 le: 11 Avril 2013, 17:28:07 »
 :huh: C'est pourtant ce que fais strcmp() et je crois ne pas bien comprendre en fait...

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : Problème connection
« Réponse #3 le: 11 Avril 2013, 17:39:02 »
oui strcomp compare bien mais ile st ecriten note qu'il est possible que la fonction retourne 0 si il y a une chaine de caractère vide.
donc vérifie que lors du strcmp ni le mot de passe saisie ni le mot de passe récuperé par le dini_get soit vide

Hors ligne Kevin_Carter

  • *
  • Tueur en série
  • Messages: 121
    • Voir le profil
Re : Problème connection
« Réponse #4 le: 19 Avril 2013, 22:39:21 »
Je ne comprends vraiment pas...

vincentdu90

  • Invité
Re : Problème connection
« Réponse #5 le: 20 Avril 2013, 02:37:15 »
En gros dans ton code il faut que tu ais :

Code: (Pawn) [Sélectionner]

print(inputtext);
print(pw);


Afin de vérifier si une des deux chaînes n'est pas vide.

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Problème connection
« Réponse #6 le: 20 Avril 2013, 20:31:12 »
Salut,

on peut faire une nouvelle fonction dans ce genre qui contournerais ce problème:

#define TEXT_NULL_LEN (0xFFFFFFFF)
stock txtcmp(text1[], text2[], bool:ignorecase=false, length=cellmax)
{
return ((strlen(text1) == 0) || (strlen(text2) == 0)) ? TEXT_NULL_LEN:strcmp(text1, text2, ignorecase, length);
}

Fonction qui s'utilise de la même façon que strcmp.

Bonne chance

++Sim++





Hors ligne Kevin_Carter

  • *
  • Tueur en série
  • Messages: 121
    • Voir le profil
Re : Problème connection
« Réponse #7 le: 24 Avril 2013, 21:44:41 »
Merci de ta réponse, je ne comprends vraiment rien au Stock et tout ça là, mais j'ai fais un print pour les variables : Le pw retourne Null
Mais le inputtext retourne ce que j'ai entré

Comment puis-je régler ceci sans stock ?

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : Problème connection
« Réponse #8 le: 24 Avril 2013, 22:46:34 »
Juste a comparer que l'inputtext soit égal a le MDP...
Donc un strcmp juste a regarder le Wiki'.
Nippah !

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : Re : Problème connection
« Réponse #9 le: 24 Avril 2013, 22:51:12 »
Juste a comparer que l'inputtext soit égal a le MDP...
Donc un strcmp juste a regarder le Wiki'.

Il l'utilise déjà le problème c'est que le pw récupere (celui qui est stocke dans la bdd)
et null et la fonction  strcmp peut renvoyer true si l'un des mots a comparer vaut null.

d'où la fonction introduite par s!m qui utilise strcmp mais qui corrige le problème de pw null

vincentdu90

  • Invité
Re : Re : Problème connection
« Réponse #10 le: 25 Avril 2013, 00:30:42 »
Merci de ta réponse, je ne comprends vraiment rien au Stock et tout ça là, mais j'ai fais un print pour les variables : Le pw retourne Null
Mais le inputtext retourne ce que j'ai entré

Comment puis-je régler ceci sans stock ?

Dans ce cas vérifie si les paramètres de ton Dini_Get() sont correctes (chemin, clé existante ou non ect..).

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : Re : Problème connection
« Réponse #11 le: 25 Avril 2013, 06:59:34 »
Salut,

Merci de ta réponse, je ne comprends vraiment rien au Stock et tout ça là, mais j'ai fais un print pour les variables : Le pw retourne Null
Mais le inputtext retourne ce que j'ai entré

Comment puis-je régler ceci sans stock ?

Dans ce cas vérifie si les paramètres de ton Dini_Get() sont correctes (chemin, clé existante ou non ect..).

Même en corrigeant, il peut arriver qu'un mot de passe soit mal récupéré, que quelqu'un supprime un fichier accidentellement etc...

Il vaudrait mieux ajouter la protection concernant la longueur du mot de passe.

Pour utiliser la fonction que j'ai donné, il faut simplement la copier dans le script (j'aurais tendance à préférer à la fin) et remplacer strcmp par txtcmp aux endroits où l'on veut ajouter la vérification de la longueur.

À Noter que l'on peut utiliser préférablement cette fonction qui sera plus rapide:

//CODE À PLACER AU DÉBUT DE TON SCRIPT
#if !defined isnull
#define isnull(%1) \
((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif
#define TEXT_NULL_LEN (0xFFFFFFFF)

//CODE À PLACER À LA FIN DE TON SCRIPT
stock txtcmp(text1[], text2[], bool:ignorecase=false, length=cellmax)
{
return (isnull(text1) || isnull(text2)) ? TEXT_NULL_LEN:strcmp(text1, text2, ignorecase, length);
}

Merci et bonne chance

++Sim++





vincentdu90

  • Invité
Re : Problème connection
« Réponse #12 le: 25 Avril 2013, 10:56:45 »
Oui évidemment mais je disais ça en vue de corriger son autre problème   :happy:.

Hors ligne Kevin_Carter

  • *
  • Tueur en série
  • Messages: 121
    • Voir le profil
Re : Problème connection
« Réponse #13 le: 26 Avril 2013, 15:16:42 »
Merci beaucoup S!m :)
Merci aux autres d'avoir passé du temps à essayer de m'aider. Merci.