Bonjour a tous,

Voici le contexte :

Faire un site de partage de photo ou chaque utilisateur aura un niveau de visibilité. En fonction de ce niveau de visibilité, il aura accès a "x" photo.

J'ai donc une base de données avec 3 tables : Niveau, utilisateur et image

Ma table image a deux clé étrangère : idNiveau et idImage


Je souhaiterai utiliser une session utilisateur qui garderai en mémoire la session et ainsi le niveau de visibilité.

Voila ce que j'ai fais :

J'ai créer un projet Service web ou j'ai effectué ma connexion a ma base de données et mes fonction CRUD

J'ai ensuite créer un second projet asp vide ou j'ai référencé mon service web.

J'ai créer un formulaire de connexion classique avec deux textbox ( log et password ) et bien sur un bouton "connexion"

Dans ma table utilisateur j'ai deux colonne pour la connexion ( pseudo et password )

Voici mon code :


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
29
30
31
Protected Sub button_connexion_Click(sender As Object, e As System.EventArgs) Handles button_envoyer.Click
 
        'appel fonction lister avec requete de mon service web : myService :
 
        'lister les id de l'utilsateur qui se connecte pour récupérer son ID
        Dim listerutilisateur = myService.listerAvecRequete("SELECT idNiveau FROM utilisateur WHERE pseudo='" & _
                                                            Me.textBox_Login.Text & "' AND password='" & Me.textBox_pass.Text & "'")
        Dim xmlId As String = listerutilisateur.GetXml.ToString
 
        'lister les pseudo pour effectué ou non la connection
        Dim listerPseudo = myService.listerAvecRequete("SELECT pseudo FROM utilisateur WHERE pseudo='" & Me.textBox_Login.Text & "'")
        Dim xmltext As String = listerPseudo.GetXml.ToString
 
        'lister les password pour effectué ou non la connexion
        Dim listerPasseword = myService.listerAvecRequete("SELECT password FROM utilisateur WHERE password='" & Me.textBox_pass.Text & "'")
        Dim xmlPassword As String = listerPasseword.GetXml.ToString
 
        If Me.textBox_pass.Text = Nothing Or Me.textBox_Login.Text = Nothing Then
            Me.literal_erreur.Text = " erreur"
        Else
            If xmltext.Contains(Me.textBox_Login.Text) AndAlso xmlPassword.Contains(Me.textBox_pass.Text) Then
                'Response.Redirect("mesphotos.aspx?id=" & .ToString & "")
                Me.literal_erreur.Text = " bienvenu " & Me.textBox_Login.Text
                Me.placeHolder_menu.Visible = True
            Else
                Me.literal_erreur.Text = " Erreur de connexion "
            End If
        End If
 
 
    End Sub

La condition If est correcte mais ne m'apporte pas grand chose. J'ai ainsi voulu stocker l'id avec la première requête mais le dataSet me retourne sous forma Xml.

Ceux ci dit même si j'arrive a récupérer l'id je ne saura l'utiliser pour ma session.

Merci pour votre aide

Cdl

Benny