Accueil > Forum > > > > probleme d'authentification
probleme d'authentification
jeudi 2 août 2007 à 12:23:06 |
probleme d'authentification

neofenix
|
bonjour a tous et oui c'est encore moi ^^ voila je crée un programme qui permet de creer un compte sur un serveur mysql et l'utilisateur peut ensuite s'authentifier avec un login et un mot de passe. a chaque fois que je clique sur connexion ma requete pour verifier si l'utilisateur est enregistré dans la base de données j'ai mon programme qui plante. je le démarre donc en mode debug pour trouver l'erreur et la surprise sa plante pas et je suis authentifié -_- je comprend pas du tout d'ou proviens mon erreur donc si vous pouviez m'aider sa serais super  voila mon code : #include "global.h"
#define __LCC__ #include <stdio.h> #include <mysql.h> #include <conio.h> #include <time.h> #include <iostream> #include <string>
using namespace std; bool connec(HWND hWnd, char* Log, char* Mdp) { const char * hostname,*user,*password; unsigned int port; MYSQL *mysqlconnexion; MYSQL_ROW myROW; MYSQL_RES *myRES;
//initialisation des parametres de connexion hostname="mon serv"; user="user"; password="monpassword"; port=3306; //initialisation du gestionnaire de la connexion à la base de données mySQL mysqlconnexion=mysql_init(NULL); if(!mysqlconnexion) { MessageBox(hWnd,"Echec de l'initialisation du gestionnaire de la connexion mysql","Erreur",MB_OK); return false; } //tentative de connexion au serveur mySQL if (!mysql_real_connect(mysqlconnexion,hostname,user,password,"mabase",port,NULL,0)) { MessageBox(hWnd,"Echec lors de la tentative de connexion au serveur mySQL","Erreur",MB_OK); return false; } string req="select pseudo"; req =req + " from joueur where pseudo='"; req =req + Log; req =req + "'and mdp='"; req =req + Mdp; req =req + "'";
mysql_query(mysqlconnexion,req.c_str()); //initialisation du jeu de résultats et l'enregistre dans le client myRES = mysql_store_result(mysqlconnexion); if (myRES) { //parcours de l'ensemble des lignes du resultat myRES for(unsigned int i = 0; i < myRES->row_count /*nombre de lignes dans la structure du resultat*/; i++) { myROW = mysql_fetch_row(myRES); for(unsigned int j = 0; j < mysql_num_fields(myRES)/*nombre de champs(colonnes) dans une ligne du resultat*/; j++) { //affichage de la valeur du J ème champs de la ligne en cours du resultat. MessageBox(hWnd,myROW[j],"test",MB_OK); } } //Libèration de la mémoire allouée au résultat myRES mysql_free_result(myRES); } else { MessageBox(hWnd,"Erreur.\nVerifiez le login et le mot de passe","Erreur",MB_OK); return false; } // fermeture de la connexion et libèration du pointeur de connexion mysqlconnexion mysql_close(mysqlconnexion);
return true; }
Cordialement, Neofenix
|
|
samedi 4 août 2007 à 10:01:51 |
Re : probleme d'authentification

neofenix
|
Pour infos l'erreur relevée lorsque le programme plante est system.NullReferenceException si sa peut vous aider
|
|
samedi 4 août 2007 à 12:02:27 |
Re : probleme d'authentification

omnia
|
salut, pour :
myRES->row_count
et
mysql_num_fields(myRES)
tu dvrais effectuer un teste avant leurs boucles for a mon avis ^^
|
|
lundi 6 août 2007 à 09:29:06 |
Re : probleme d'authentification

neofenix
|
merci de ton aide omnia. j'ai essayé de faire un test sur myRES->row_count et mysql_num_fields(myRES) mais cela ne change rien
|
|
lundi 6 août 2007 à 09:35:35 |
Re : probleme d'authentification

omnia
|
Réponse acceptée !
bon j'avais pas vue un truc: c'est casiement sur c'est sa ton problème car le mode débug cloisonne et élargie les zones mémoire, du coup en cas d'écriture sur des zones non utilisés de la mémoire sa ne plante pas alors que dans un programme en mode release sa plante casiement a tout les coups :
const char * hostname,*user,*password;
//initialisation des parametres de connexion hostname="mon serv"; user="user"; password="monpassword";
Je ne vois pas d'allocation de mémoire pour tes pointeurs la ^^
a modifier:
#define hostname "mon serv" #define user "user" #define password "monpassword"
|
|
lundi 6 août 2007 à 11:05:11 |
Re : probleme d'authentification

neofenix
|
Super sa marche merci omnia si tu etais devant moi je te baiserais les pieds ^^.
|
|
lundi 6 août 2007 à 11:32:50 |
Re : probleme d'authentification

neofenix
|
désolé je me suis laissé un peu emporté je crois car quand j'ai fais le test c'etait en mode debug 
|
|
lundi 6 août 2007 à 11:43:21 |
Re : probleme d'authentification

neofenix
|
c'est louche car je me sert a peu pres du meme code pour creer un compte dans la base de données sans probleme il n'y a que la requete qui change
|
|
lundi 6 août 2007 à 16:00:22 |
Re : probleme d'authentification

omnia
|
Ok, alors déja pour commencer vire le mode debug et met en release ^^
il faudrait faire un test:
//parcours de l'ensemble des lignes du resultat myRES for(unsigned int i = 0; i < myRES->row_count /*nombre de lignes dans la structure du resultat*/; i++) { myROW = mysql_fetch_row(myRES);
for(unsigned int j = 0; j <
mysql_num_fields(myRES)/*nombre de champs(colonnes) dans une ligne du
resultat*/; j++) { //affichage de la valeur du J ème champs de la ligne en cours du resultat. MessageBox(hWnd,myROW[j],"test",MB_OK); } }
si tu met sa en commentaire sa plante plus ?
|
|
lundi 6 août 2007 à 16:04:55 |
Re : probleme d'authentification

omnia
|
et une autre question pour ta requete
(je ne fait pas de c++ casiment et n'utilise pas string)
string req="select pseudo"; req =req + " from joueur where pseudo='"; req =req + Log; req =req + "'and mdp='"; req =req + Mdp; req =req + "'";
si tu mettait Log et Mdp en, string plutot que char * ?????
en gros tu fait un test ou tu fait directement : string req = "select pseudo from joueur where pseudo='lepseudo' and mdp='toto';";
|
|
Cette discussion est classée dans : req, mysql, connexion, include, mysqlconnexion
Répondre à ce message
Sujets en rapport avec ce message
probleme avec une string [ par neofenix ]
bonjour a tous,voila je suis depuis un moment sur un projet personnelle et je me casse la tete depuis un moment sur un probleme.Alors j'ai une base
problème de connexion à une base de données dans C [ par boualiasma ]
Salut,1)- Je voudrais connecter à une base des données crée sous Mysql de version 5.1.30le dossier d'installation est : C:\Program Files\EasyPHP 3.0\
Demande d'aide c++ et requête SQL [ par juliette666 ]
Bonsoir a tous pour commencer j'utilise visual studio 2010 (c++ console) et pour ma BD c'est MySQL. j'ai Connexion.h,Connexion.cpp et main.cpp voila
[LINUX] Connexion mysql en C [ par JuJu ]
Bonjour,J'essaie de programmer une connexion mysql en C afin d'y insérer un enregistrement.Voici mon code actuel :====================================
connexion a mysql depuis microsoft VC++.net [ par theudd ]
bonjour a tous. mon probleme consiste a faire un code pour avoir acces a une base de donnee mysql. la question a ete traite sur ce site pour VC++.6 ma
Segmentation Fault avec Mysql API [ par BenjZ ]
Salut à tous,J'ai un GROS et URGENT problème euh... existentielJe n'arrive pas à faire une simple appli pour me connecter à MYSQL depuis C++, sans qu'
C++ VS Mysql [ par ours_aquatique ]
Bonjour ,Aprés une semaine de recherche infructueuse , j'ai toujours le probleme suivant:je compile sous devC++ j utilise Mysql (V4.et des poussieres)
Probleme Connexion bdd mysql [ par biglulu77420 ]
J'ai un souci pour me connecter à ma bdd. J'utilise Devcpp, et je code en C.j'ai des msg d'erreur du type :C:\mysql\lib\opt\mysqlclient.lib(./release/
Mysql probleme de connexion [ par ours_aquatique ]
Bonjour je compile avec devC++ sous XP et en utilisant "mysql-4.1.9-win32" , je cherche pour l'instant a creer une fonction console en C++ pour agir d
connexion à une base mysql sous linux [ par progrima ]
bonsoir!!je vouderais réaliser un programme qui : lit des données d'une base access installée sous windows 2003 server et par la suite se connecte à u
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|