IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Problème d'authentification c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 14
    Par défaut Problème d'authentification c#
    Salut à tous,

    Voilà je souhaite avoir une page de connexion.
    J'ai réalisé ce code pour tester si le couple (login,mdp) existe dans ma base:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     string sql = "Select COUNT(idclient) from clients where pseudo =" + login.Text + " and password =" + mdp.Text;
                SqlConnection conn = new SqlConnection(GetConnectionString());
                SqlCommand cmd = new SqlCommand(sql, conn);
                conn.Open();
                int compteur = (int)cmd.ExecuteScalar();
                conn.Close();
                if (compteur == 0)
                {
                    Label4.Text = "L'identifiant et/ou le mot de passe est invalide";
                }
                else
                {
                    string sql2 = "Select idclient from clients where pseudo =" + login.Text + " and password =" +  mdp.Text;
                    SqlConnection conn2 = new SqlConnection(GetConnectionString());
                    SqlCommand cmd2 = new SqlCommand(sql2, conn2);
                    conn.Open();
                    int idclient = (int)cmd.ExecuteScalar();
                    conn.Close();
                    Session["idclient"] = idclient;
                    Response.Redirect("Accueil.aspx");
                }
    Il me met comme erreur:

    System.Data.SqlClient.SqlException: Nom de colonne non valide : 'denisbuzz'.
    Nom de colonne non valide : 'parisplouz'.
    au niveau de ma ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int compteur = (int)cmd.ExecuteScalar();
    Je ne comprend pas trop où est mon erreur

    Sachant que le login que je rentre est "denisbuzz" et le password est "parisplouz".
    Ces données sont bien présente dans ma table.

    Merci de m'aider.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 4
    Par défaut Utilise le séparateur de chaînes
    Salut. Ton problème est que tu n'utilises pas le séparateur de chaînes pour construire ta requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sql = "Select COUNT(idclient) from clients where pseudo ='" + login.Text + "' and password ='" + mdp.Text + "'";
    De plus, tu devrais utiliser un formatage ou un StringBuilder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sql = string.Format("Select COUNT(idclient) from clients where pseudo ='{0}' and password ='{1}'", login.Text, mdp.Text);

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 60
    Par défaut
    C'est juste à ceci prés qu'il vaut mieux utiliser des requêtes paramétrées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    string sql = "Select COUNT(idclient) from clients where pseudo =@login and password =@mdp";
                SqlConnection conn = new SqlConnection(GetConnectionString());
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.AddWithValue("@login", login.Text);
                cmd.Parameters.AddWithValue("@mdp", mdp.Text);
                conn.Open();
                int compteur = (int)cmd.ExecuteScalar();
                etc...
    Et ça fonctionnera ton erreur vient simplement du fait que tu as oublié les simples quotes lors de ton passage de valeurs dans la requête

    par ex
    SELECT COUNT(idclient) FROM clients WHERE pseudo='val 1' and password ='val 2'

    donnera en c#

    "SELECT COUNT(idclient) FROM clients WHERE pseudo='"+login.Text+"' and password ='"+mdp.Text+"'"

    mais de toutes façons il ne faut non plus l' utiliser car ce n'est pas propre la solution consiste à définir des paramètres pour ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string sql = "Select COUNT(idclient) from clients where pseudo =@login and password =@mdp";
    cmd.Parameters.AddWithValue("@login", login.Text);
    cmd.Parameters.AddWithValue("@mdp", mdp.Text);
    voilou

Discussions similaires

  1. Problème d'authentification / réécriture URL
    Par arN34 dans le forum Apache
    Réponses: 4
    Dernier message: 30/09/2006, 15h24
  2. [Cookies] problème d'authentification
    Par WELCOMSMAIL dans le forum Langage
    Réponses: 12
    Dernier message: 31/07/2006, 17h30
  3. [LDAP] Problème d'authentification via PHP
    Par navis84 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 21/07/2006, 09h45
  4. [Tomcat] Problème d'authentification au Proxy
    Par Tangi29 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 12/06/2006, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo