PROBLEME DE COOKIES ET SESSIONS

kenza_sana Messages postés 149 Date d'inscription mardi 14 octobre 2003 Statut Membre Dernière intervention 19 janvier 2009 - 7 avril 2004 à 19:41
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 10 avril 2004 à 13:46
BONJOUR J'ai un projet et je voudrait utiliser les sessions et les cookies mais je ne coimprned pas exectement le role et coment ils interagissent tout les deux ???
J'utilise comme authentification par formulaires
Merci de me répondre et m'éxpliquer et si c'est possible quelques codes en ASP.NET et c# ou quelques liens..............
UN CADEAU TRES CHER ATTEND CELUI OU CELLE QUI REPONDRA ..........COMME CI VOUS AVEZ GAGNER AU LOTTO :big) ..............
Merci d'avance et alors le temsp presse la meilleur reposne auras le cadeau
HAHHAAHHA

11 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 avril 2004 à 21:45
les sessions tu gardes tes données sur le serveur, par exemple tu as un caddie virtuelle (cas typique :-p ) tu as crée une classe Caddie avec dedans tout ce que tu veux (tu peux aussi mettre un string c pareil), pour ajouter ca à ta session tu as juste as faire

session("caddie") = toncadie (toncadie est de type Caddie)

ensuite dans n'importe quelle page du site tu pourras avoir le caddie en faisant simplement :

dim toncadie as Cadie = Ctype(session("caddie),Caddie)
L'avantage d'une session c'est que tu stockes rien chez le client, une session dure tout le long du passage du visiteur (ou peut etre 20min en +)
Par contre pour qu'asp.net sache quel est le client qui as tel ou tel session, il donne un numero unique au client qu'il garde dans un cookies mais cela c'est transparent pour toi, si tu met l'attribut trace=true dans ta page aspx tu verras ce cookies qui est automatiquement generé

J'espere avoir à peu pres répondu à ta question, mais celle ci etait tres vague donc pas facile

@+

Cyril (Alias Jesusonline)
0
kenza_sana Messages postés 149 Date d'inscription mardi 14 octobre 2003 Statut Membre Dernière intervention 19 janvier 2009
8 avril 2004 à 12:14
Merci pour ta réponse mais la classe caddie c'est quoi exactement ???
Encore merci mais comment faire exactement moi pour mon projet je n'arrive pas a choisir avec les sessions et les cookies??
Si tu peut me donner ton avis ....Sinon pour les session comment gérer ca exactement
Aprés l'avoir crée (ou exactement quel fichier )que doit je insérer dans les pages qui nécessite une authentification alors que j'ai aussi des pages qui sont publiques ..Alors est ce qu'il y'a un code ou autre que je doit insérer ...
Merci de me répondre en fait pour plus d'info mon projet est en ASP.NET et c#

Ton cadeau tu l'auras t'inquiéte :big)

Je t'explique mon projet peut etre que ca va t'eclairssir la réponse : je gére une photothéque donc il y'a des photos qui sont publiques et autres personnels qui appartienent aux membres du sites :leurs album donc pour accéder au photos d'une telle personne il faut qu'elle s'identifie d'abord mais pour le reste c'est publique
J'ai déja utiliser pour ca deux services webs le premier contient les méthodes qui sont publiques (pour tout le monde ) et dans l'autre je metterait ceux qui nécessite une authentification tout les deux je les ait insérer dans un meme projet
Alors donne moi ton avis ....Je te fait confiance si ca necessite une autre démarche et pour les cookies ou session je les metterait dans les services qui nécessites une authentification
MERCI
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 avril 2004 à 12:31
Je ne vois pas en koi tu as besoin d'utiliser les cookies ou les variables sessions (j'ai lu rapidement mais ton projet m'interesse)
Si j'ai bien compris ce que tu veux: tu as un site avec un accés membres, ce qu'il te faut c'est juste arriver à garder la session du membre, donc tu n'as pas grand chose, je te conseil d'utiliser les sessions car cookies et session sont etroitement lié mais les sessions sont plus simples je trouve.

Je code generalement en VB.net je connais pas C# (je le comprend mais je sais pas l'ecrire) donc je te donne des exemples en VB.net

La classe Caddie c'etait juste un exemple :

private class Caddie
public ListeCourse as arraylist
private sub AddCourse(Coursestring)
ListeCourse.add(Coursestring)
end sub
end class

au click sur un bouton :
dim moncaddie as new Caddie
caddie.addcourse("CD de musique")
session("Caddie") = moncaddie

dans le page load de n'importe qu'elle autre page :

dim moncaddie as Caddie
moncaddie = ctype(session("Caddie"),Caddie)

mais si tu comprend pas c'est pas bien grave car dans ton cas tu n'as pas besoin d'utiliser tout ca, mais juste le nom de l'utilisateur

donc par exemple session("nom") = "Bertrand"

c'est tout

Je suis pressé donc je peux pas plus etoffé si t'as des questions hesites pas

@+

Cyril (Alias Jesusonline)
0
kenza_sana Messages postés 149 Date d'inscription mardi 14 octobre 2003 Statut Membre Dernière intervention 19 janvier 2009
8 avril 2004 à 18:18
merci pour ton aide mais sincerement je n'ai pas compris grand chose car déja les étapes ne sont pas assez claires pour moi :
1) Je crée l'objet session (qu'est ce que je doit lui fournir comme information je lui passe le login et mot de passe que je vient de taper dans le formulaire d'authentification?? et puis les traitements a faire )

Mais je ne sait pas ou et comment de plus aprés l'avoir crée c'est bon le reste du traitement c'est a lui seul de le gérer de se souvenir du pofil de l'utilisateur(de page en page ) de plus mon site je vait utiliser le panier (comme pour l'achat de quelque choses l'utilisateur selectionne une liste de photos qu'ils veut les traiter ou autre choses .....aprés avoir éte identifiée bien sure Bref donc
Ce que je veut faire exactement c'est que l'utilisateur ne s'identifie qu'une seule fois en entrant au site puis les autres pages se souviennent de son profil en affichant son login au début de chaque page + Cet histoire de panier comme pour le e commerce ...A chaque entré au site il s'indentifie
Merci pour ton aide je suis bloqué ca fait 2 jours sur cette histoire ca commence a me fair eun grand retard sur mon projet de plus que toutes les documentations et trucs que j'ai lu n'explique pas assez le principe ..
Merci de me répondre ce que je doit faire exactement et ou je doit le taper
J'attend sincerement votre réponse avec impatience ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 avril 2004 à 19:16
Je m'etais encore jamais interessé aux sessions, je connaissais mais sans plus. Je viens de relire les 5 pages d'exemple de l'excellent bouquin de richard clark : http://www.c2i.fr/press/faspnet.aspx que je conseil vivement et pour seulement 10?
Je veux bien mettre un exemple de code mais faut me dire si vous travaillez en code behind (separation du code de la presentation (fichier .vb)) ou directement dans le code et avec quelle logiciel vous travailler (bloc note ou VS.net)

Mais en resumé les variables sessions c'est extrement simple à utiliser suffit de pas se perdre et surtout d'imaginer tout les cas possible du client, mais ca c'est le principe de la programmation :p

Cyril (Alias Jesusonline)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 avril 2004 à 19:29
Un petit exemple :) en vb.net et en code behind :


    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not Session("photos") Is Nothing Then
            Dim obj As photos
            obj = CType(Session("photos"), tout.photos)

            Response.Write(obj.nom & "
")
            Response.Write(obj.commentaires & "
")
            Response.Write(obj.url & "
")
        Else
            Response.Write("ajout dans la variable session")
            Dim obj As New photos("Nom", "http://url", "Excellent")
            Session("photos") = obj
        End If
    End Sub

    Public Class photos

        Public nom As String
        Public url As String
        Public commentaires As String

        Public Sub New(ByVal lenom As String, ByVal laurl As String, ByVal lescommentaires As String)
            Me.nom = lenom
            Me.url = laurl
            Me.commentaires = lescommentaires

        End Sub

    End Class


ce code permet dans un premier temps de charger la session apres un refresh de charger depuis la session
J'ai crée une classe photos qui contient ce qu'on veut, tu peux faire de meme pour ton panier

pour tout simplement faire une authentification :

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not Session("nom") Is Nothing Then
            Response.Write(Session("nom") & "
")
        Else
            Response.Write("ajout dans la variable session")
            If password = "pass" Then 'recherche dans la bdd
                Session("nom") = "Jesusonline"
            End If
        End If
    End Sub


Cyril (Alias Jesusonline)
0
kenza_sana Messages postés 149 Date d'inscription mardi 14 octobre 2003 Statut Membre Dernière intervention 19 janvier 2009
9 avril 2004 à 11:08
Bonjour je vient de lire ton code et de l'essayer ca ne marche pas ...Enfin peut etre que moi je les ait mal placé car moi j'utilise le Visual Studio.net avec des fichiers (*.asmx.cs)(code behind) qui représente mon service(toutes les méthodes y sont ) et un autre form1.aspx qui représente mon interface utilisateur et alors moi j'ai placé ton code enfin cette partie que j'ai changé en c# dans le fichier form1.aspx

private void Page_Load(object sender, System.EventArgs

e)
{
if (Session("photos") != null)
{
photos obj;
obj = CType(Session("photos"), tout.photos);

Response.Write(obj.nom & "
");
Response.Write(obj.commentaires & "
");
Response.Write(obj.url & "
");
}
Else
{
Response.Write("ajout dans la variable session");

photos obj= new photos("Nom", "http://url",

"Excellent");

Session["photos"] = obj;
}
}

namespace Appli.Web
{
public class photos
{
String nom;
String url;
String commentaires;
public void New( String lenom , String laurl ,String

lescommentaires )

{
Me.nom = lenom;
Me.url = laurl;
Me.commentaires = lescommentaires;
}
}

Enfin sincerement je ne compend pas trés bien ce que fait ce code ni ou je doit le placé quand au reste du code meme chose ...
De plus tu met comme nom d'utilisateur un nom par défaut alors que moi je veut que ce nom il le lut d'aprés ce que je vait saisir lors de l'identification dans un champs texte nommé (txtUserName) et le mot de passe (txtUserPass) donc qu'il m'affiche le login ou nom que l'utilisateur que je vient de taper dans (txtUserName) que ce nom se mémorise quelque part car j'en aurait besoin dans d'autre application ...
Quand a la classe photos je ne comprend pas ce qu'elle doit retenir enfin elle sert a quoi ...
Tu sait ma confusion est surtout comment crée une session mais aussi comment faire pour que le site se souvient de l'utilisateur d'une page a une autre ...
par exemple quand il s'identifie et qu'il passe a la page d'acceuil puis il cliques sur un lien (VOIRE MES PHOTOS ) d'une autre page de mon site je veut que la requete cherche directement les photos dans la base de données avec son nom d'utilisateur (login) qu'il a saisie a son entrée au site
Je ne voit pas comment exactement la session va me permettre de récupérer cette variable ...
De plus la session doit etre crée ou???Au niveau de quel fichier (asmx,aspx,global.asa,web.config)Y'a tellement de document sur ca et chaqu'un raconte une chose ...Ce qui fait que je ne comprend pas aussi ou elle doit se crée et ou la traité ....cAR COMME JE TE L'AI DIT DANS MON SITE Y'A DES PAGES PUBLIQUES et d'autres privées
Je sait trop de questions mais car c'est tellement flou dans ma tete et que je suis vraiment en retard pour mon projet a cause de cette histoire de session ??? :(
MERCI de me répondre et si ce n'est pas trop te demander peut tu m'envoyer le code avec des commentaires pour mieux comprendre les étapes et chaque code le nom de son fichier et s'il y'a des midofication qu'on doit faire dans le fichier Global.asa ou Web.config
ENCORE MERCI ......Sincerement j'attend ta réponse avec impatience :question)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 avril 2004 à 19:32
j'ai survolé ton message j'ai pas lu la derniere partie : mais tu peux m'expliquer en details ce que t'attend, (c'est peut etre expliqué à la fin j'ai pas lu)
mais j'ai vu service web tu ne dois pas utiliser les sessions sur des services web c'est deconseillé !!!

si mon code est encore confus, explique moi exactement ce que tu veux :
nom des pages + description ...

@+

Cyril (Alias Jesusonline)
0
kenza_sana Messages postés 149 Date d'inscription mardi 14 octobre 2003 Statut Membre Dernière intervention 19 janvier 2009
9 avril 2004 à 19:59
Je ne comprend pas pouruqoi c'est déconseiller mais moi je les ait mis comme service WEB mes méthodes commeca je ne sait pas il y'a autre facon de faire ca je ne sait pas ???
0
kenza_sana Messages postés 149 Date d'inscription mardi 14 octobre 2003 Statut Membre Dernière intervention 19 janvier 2009
9 avril 2004 à 20:05
qUAND AU SESSION quand a mon projet si tu lit la derniere partie de mon message j'ai bien expliqué ce que je veut , en gros je veut qu'un utilisateur ne saisie son code et mot de passe que la premiere fois a son entree au site et que le site se souvient de son profil je veut juste qu'il se souvient de son login afin d'afficher son nom au debut de chaque pages et que si jamais il clique sur un liens pour voire son album (VOS PHOTOS) le site crée une requete pour afficher toutes les photos appartenent a cette personne c'est pour ca qu'il doit se souvenir de son login juste le login c'est la seule informations que je veut pour le moment ...
Merci c'est urgent au moin ce principe je doit le faire le plus tot possible l'hitsoire de panier attendras mais ca car il me bloque mon travaille...
Ce que je ne comprend pas c'est ou et comment crée une session et comment le site va stocker une variable pour atentifier et se souvenir de chaque utilisateur
ENCORE MERCI
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 avril 2004 à 13:46
j'ai encore pas lu ton message (j'ai plus le temps de rien [:'(]) mais comme j'y pense tu parle de photos va voir http://www.ngallery.org et une application ici : www.cdurand.fr.st

Cyril (Alias Jesusonline)
0
Rejoignez-nous