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 de syntaxe


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Problème de syntaxe
    Bonjour à tous,

    Je débute le C# et j'ai un petit soucis.
    Je m'explique, j'essaie de gérer des Sessions d'utilisateurs.

    Pour cela :
    - J'ai une classe Session qui contient un nom d'utilisateur et un mot de passe.
    - Lors de la validation de ma page de Connexion, le login et mot de passe entrés deviennent ceux de Session (après avoir crée un objet Session dans Connexion).
    - Maintenant, dans une page Test, j'aimerais afficher le nom d'utilisateur de la Session via une MessageBox mais je n'y arrive pas...
    Pour le moment j'ai tenté 'MessageBox.Show(Connexion.maSession.username)' , j'ai aussi essayé de créer un objet Connexion mais toujours rien...

    Merci d'avance pour votre aide, le code des pages est ci dessous :

    Session.cs
    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
     
     public class Session
        {
            public String username;
     
            public String Username
            {
                get { return username; }
                set { username = value; }
            }
            String password;
     
            public Session(String id,String psd)
            {
                this.username = id;
                this.password = psd;
            }
        }
    Connexion.cs
    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
    23
    24
    25
    26
    27
    28
     
     public Session maSession;
            public Connexion()
            {
                InitializeComponent();
            }
     private void btn_connexion_Click(object sender, EventArgs e)
            {
                // Pour le moment le login et mdp sont entrés en dur, il faudrais faire une verif sur BDD pour le mettre en dynamique NB : La vérif se fait sur BDD uniquement à la première connexion, après vérif en local
                // On vérifie le login, si il est bon on vérifie le mdp associé. Si le tout est bon on ouvre le form planning
     
                if (ID_user.Text.Equals("test") && password_user.Text.Equals("test"))
                {
                    // gestion des session
                    maSession = new Session(ID_user.Text, password_user.Text);
     
                    //onverture de la page principale
                    Main p_princip = new Main();
                    p_princip.Show();
                }
                else
                {
                    // "le login ou le mot de passe est incorrect !"
     
                    erreur.Visible = true;
                    img_erreur.Visible = true;
                }
            }
    Test.cs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void Test_Load(object sender, EventArgs e)
            {
                // Afficher le nom d'utilisateur
            }

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    Connexion.maSession.username c'est l'idée, sauf que Connexion semble être le nom de ta classe qui décrit ta Form de connexion, et non celui de l'instance de cette classe.

    Tu as donc deux possibilités :

    - donner à ton instance de Test la référence à ton instance de Connexion. Pour cela tu peux :
    - - > créer un attribut frmConnexion de type Connexion dans ta classe Test,
    - - > puis créer un constucteur spécifique dans ta classe Test, qui prend un Connexion en paramètre et l'assigne à l'attribut plus tôt,
    - - > enfin, quand tu instancies un objet Test dans ta Connexion tu lui passe this en paramètre.
    Tu pourras alors appelé frmConnexion.maSession.Username dans ton instance de Test.

    - tu déclares maSession en static dans Connexion. Cela signifie que cet attribut sera partagé par toutes les instances de cette classe. Du coup t'as le droit de l'appeler depuis le nom de la classe et non celui de l'instance. Ta première expression (Connexion.maSession.Username) devient valide.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Je viens de tester tes solutions mais j'ai une erreur qui apparait :
    "Accessibilité manquante : le type de champ 'Monappli.Session' est moins accessible que le champ 'Monappli.Connexion.user' "

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Ta classe Connexion est bien déclarée en public ?
    Sinon je ne vois aucun élément (classe, fonction, attribut ...) dans le code que tu nous montres qui s'appelle "user".

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 218
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par _Joker_ Voir le message
    Je viens de tester tes solutions mais j'ai une erreur qui apparait :
    "Accessibilité manquante : le type de champ 'Monappli.Session' est moins accessible que le champ 'Monappli.Connexion.user' "
    Ca veut dire que la propriété Session doit être décrite internal ou private alors que user dans Session doit être public.
    Une anomalie similaire dans la classe Session : le champ userName est public alors qu'il existe une propriété UserName public elle aussi. Mettre le champ en private.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    C'etait bien ca ^^ le problème étais le fait que le champ soit en 'public' et non 'private'

    Merci pour votre aide problème résolu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de syntaxe - elements['x'].value
    Par Equus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2005, 11h22
  2. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 17h07
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 10h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 14h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 15h10

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