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

ASP Discussion :

Comment effacer l'historique d'une session?


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 50
    Points : 25
    Points
    25
    Par défaut Comment effacer l'historique d'une session?
    bonjour ,

    c'est toujours moi , j'ai réussi a faire des sessions , mais j'ai un petit souci , lorsque je déconnecte d'une session et j'appuie sur le bouton précédant du navigateur , je me trouve dans la session

    comment faire pour supprimer l'historique d'une session?

    voici mon code :

    config1.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <%
    dim Provider
    dim dbpath
    ' Chemin de la base de données
    ' Si votre base est là : htdocs/database/ma_base.mdb 
    ' et si votre page est là : htdocs/_connexion.asp
    dbPath = Server.MapPath("./pass.mdb")
     
    Provider = "DRIVER={Microsoft Access Driver (*.mdb)};" _
    & " DBQ=" & dbPath
     
    %>
    index1.asp
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    <% option explicit %>
     
    <!-- #include file="config1.asp" -->
     
     
    <%
    Dim RQuser
    Dim RQPass
     
    RQuser=request.QueryString("user")
    RQPass=request.QueryString("pass")
    %>
     
     
     
     
    <% if RQuser<>"" and RQPass<>"" then %>
    <%
    Dim DB_objConn
    Set DB_objConn=CreateObject("ADODB.Connection")
    DB_objConn.Open Provider
     
     
    Dim dataRec_Connection
    Set dataRec_Connection=CreateObject("ADODB.RecordSet")
    dataRec_Connection.Open "SELECT * FROM Pass WHERE Nick like'" & RQuser & "' AND Pass='" & RQPAss & "'",DB_objConn
    response.write("i am here " & RQuser)
     
    Dim UserLevel
     
    If dataRec_Connection.EOF then
        response.Write "<B>Le pseudo ou le pass que vous avez tapé est faux!</B>"
    else
        UserLevel=dataRec_Connection("UserLevel")
        if UserLevel=1 then
            response.Write "<B>Vous êtes maintenant connecté en tant que SuperAdmin!</B>"
        elseif UserLevel=2 then
            response.Write "<B>Vous êtes maintenant connecté en tant qu'Admin!</B>"
        else
            response.Write "<B>Vous êtes maintenant connecté en tant que simple utilsateur!</B>"
        end if
     
        '---- Démarre une nouvelle session ----
        Session("user")=RQuser
        Session("Pass")=RQPass
        Session("UserLevel")=UserLevel
        response.write Session("user")
     
     
     
     
    end if
     
    %>
     
    <BR><BR>
    <A href=memberarea1.asp>Aller faire un tour dans la zone membre</A>
     
     
     
    <% else %>
    <HTML>
     
    <HEAD>
    <TITLE>Identifiez vous</TITLE>
    </HEAD>
     
    <BODY>
    <FORM action=index1.asp method=get>
    Pseudo:<BR>
    <INPUT type=text name=user><BR>
    PassWord:<BR>
    <INPUT type=text name=pass><BR>
    <INPUT type=submit value="Connection!">
    </FORM>
    <% response.write "l'utilisateur est"
     response.write Session("user") %>
    </BODY>
     
    </HTML>
    <% end if %>
    memberarea1.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <% if session("user")<>"" and Session("Pass")<>"" then 
     response.Redirect "member.asp"
    else 
     response.Redirect "nonmember.asp"
     end if %>
    member.asp
    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
     
    <% if session("user")="" and Session("Pass")="" then 
     response.redirect "nonmember.asp"
     end if %>
    <HTML>
     
    <HEAD>
    <TITLE>BIenvenue dans la zone membre</TITLE>
    </HEAD>
     
    <BODY>
        <%
        if Session("UserLevel")=1 then
            response.Write "<B>Vous êtes maintenant connecté en tant que SuperAdmin!</B><BR>Vous disposez de tous les droits de modification!"
        elseif Session("UserLevel")=2 then
            response.Write "<B>Vous êtes maintenant connecté en tant qu'Admin!</B><BR>Vous disposez de quelques droits de modification!"
        else
            response.Write "<B>Vous êtes maintenant connecté en tant que simple utilsateur!</B><BR>Vous ne disposez d'aucun droit de modification!"
        end if
        %>
     
     
    <BR><BR><A href=deconnection1.asp>Se déconnecter!</A>
     
    </BODY>
     
    </HTML>
    nonmember.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <HTML>
     
    <HEAD>
    <TITLE>Vous ne pouvez pas accéder à la zone membre car vous n'êtes pas connecté!</TITLE>
    </HEAD>
     
    <BODY>
     
    <A href=index1.asp>Se connecter</A>
     
    </BODY>
    deconnexion1.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <%
     
    session.abandon
    response.Redirect "index1.asp"
     
    %>

  2. #2
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    Ta session est effectivement fermée ("session.abandon") au niveau du serveur, mais le bouton retour du navigateur recharge la page précédente à partir du cache du navigateur, et non depuis le serveur. Si tu actualises ta page (bouton F5), tu aura un message t'indiquant "Le pseudo ou le pass que vous avez tapé est faux!". Il faut donc désactiver la mise en cache dans ta page asp. Plusieurs possibilités :

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <META HTTP-EQUIV="pragma" CONTENT="no-cache">

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 50
    Points : 25
    Points
    25
    Par défaut
    merci , roro

    j'ai essayé mais ça marche pas , j'ai toujours le meme probleme

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 112
    Points : 112
    Points
    112
    Par défaut
    Salut,

    Je préfère utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    session.Contents.Remove("user")
    session.Contents.Remove("pass")
    lorsque je n'ai plus besoin d'une session.

    ++

  5. #5
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    Je préfère utiliser
    Code :

    session.Contents.Remove("user")
    session.Contents.Remove("pass")

    lorsque je n'ai plus besoin d'une session.
    Il ne faut pas confondre session et variable de session : Par ce code, tu détruit tes variables de session, mais la session est toujours active. Il est possible aussi d'utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session.Contents.removeAll()
    Par contre, avec : tu détruit véritablement ta session (n'est plus active sur le serveur), et l'appel d'une autre page asp va créer une nouvelle session. Avec les conséquences que ça peut avoir (appel du Session_onStart du global.asa, entre autre). Ce n'est donc pas une question de préférence, mais de fonctionnement souhaité de l'appli.

    j'ai essayé mais ça marche pas , j'ai toujours le meme probleme
    Mets ceci en début de page (avant la balise <html>), ça devrait aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <% 
    Response.Expires=-1
    Response.cachecontrol="private"
    Response.Expiresabsolute = Now() - 1
    Response.AddHeader "pragma","No-cache"
    Response.AddHeader "cache-control","No-cache"
    Response.CacheControl = "No-cache"
    Response.AddHeader "cache-control", "no-store, must-revalidate, private"
    %>

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 112
    Points : 112
    Points
    112
    Par défaut
    Bonjour,

    C'est vrai que j'ai survolé son message mais je pensais qu'il souhaitais justement réinitialiser ses variables.

    ++

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 50
    Points : 25
    Points
    25
    Par défaut
    merci StephM_asp et roro06

    c'est bon ça marche tres bien ,

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

Discussions similaires

  1. Comment effacer un tableau d'une session ?
    Par aclertant dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2006, 17h36
  2. Comment effacer toutes les variables de sessions en une fois
    Par dessinateurttuyen dans le forum Langage
    Réponses: 4
    Dernier message: 03/08/2006, 09h20
  3. comment effacer le contenu d'une table ttable
    Par naw dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/07/2004, 16h13
  4. Comment effacer le contenu d'une scrollbox???
    Par Leclair2000 dans le forum C++Builder
    Réponses: 2
    Dernier message: 01/07/2004, 16h34
  5. Comment effacer un Tick sur une TrackBar ?
    Par ZeImp dans le forum Composants VCL
    Réponses: 2
    Dernier message: 19/08/2003, 21h39

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