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

Web Perl Discussion :

impossible de recuperer une session


Sujet :

Web Perl

  1. #1
    bfb
    bfb est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Points : 28
    Points
    28
    Par défaut impossible de recuperer une session
    Bonjour tous le monde,

    J'utilise le module cgi::session et pour l'implementer j'ai suivi ce qui se trouve sur cpan : http://search.cpan.org/~sherzodr/CGI...on/Tutorial.pm

    Le seul hic est que je n'arrive pas a recuperer ma session.
    Au debut je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $session = new CGI::Session(undef, undef, {Directory=>'tmp'});
    Ma session est bien cree il n y a pas de probleme.

    puis je stocke ma variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    my $cookie = $req->cookie( -name   => $session->name,
                                  -value  => $session->id );
    print $req->header( -cookie=>$cookie );
    $session->param('variable',$var);
    Le probleme est que lorsque je rappelle mon script cgi il me cree de nouveau une nouvelle variable de session et lorsque je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = $session->param(variable');
    pour recuperer ma variable il ne me recupere rien.

    Si quelqu'un a une idee, je suis preneur.

    Merci

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu as vérifié que le cookie était bien sur ton ordi ? Tu as essayé d'utiliser l'autre méthode proposé pour envoyer un cookie ? Tu as essayé de passer l'ID de la session par la query_string ?

    --
    Jedaï

  3. #3
    bfb
    bfb est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Points : 28
    Points
    28
    Par défaut
    oui le cookie est bien sur l'ordi. J'ai aussi utilise l'autre methode pour envoyer le cookie. Si je passe l'ID de la session par la query string ca fonctionne mais le truc que je n'ai pas precise est que je veux lancer un script qui va m'initialiser une variable. Si je veux mettre cette variable dans une session c'est pour eviter lors du prochain lancement (l'utilisateur fait precedent et relance le script) d'avoir a reinitialiser cette variable.

    Mais d'apres la doc lorsque je fais un new si une session existe elle doit la retrouver en regardant les cookies stockes c'est ce que je voulais faire.

    voila mon probleme.

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Et tu as essayé en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $session = new CGI::Session();
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $session = new CGI::Session(undef, undef, {Directory=>'tmp'});
    Je crains que le premier "undef" ne pose quelques problèmes...

    --
    Jedaï

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    J'avais eu des problèmes avec les cookies. Notamment en utilisant la syntaxe avec header.
    Pour moi ça marche quand je fais comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    my %cookie=fetch CGI::Cookie;
        my $NewValue;
        if($cookie{'Visites_EDI'}ne '')
        {
            my $Value=$cookie{'Visites_EDI'}->value;
            $NewValue=$Value+1;
        }
        my $cook = new CGI::Cookie(-name    =>  'Visites_EDI',
                                   -value   =>  $NewValue,
                                   -expires =>  '+3M');
        print "Set-Cookie: $cook\n";
    tout le monde est d'accord pour critiquer la pensée unique

Discussions similaires

  1. impossible d'ouvrir une session sous vista
    Par zanskar dans le forum Windows Vista
    Réponses: 11
    Dernier message: 29/02/2008, 14h23
  2. Réponses: 2
    Dernier message: 08/11/2007, 21h12
  3. [SQLSERV 2005] Impossible d'ouvrir une session
    Par slim dans le forum MS SQL Server
    Réponses: 15
    Dernier message: 20/02/2007, 14h42
  4. PC neuf, Impossible de fermer une session
    Par arnolem dans le forum Windows XP
    Réponses: 1
    Dernier message: 26/10/2006, 10h52
  5. [Sécurité] Impossible d'ouvrir une session
    Par clementphp dans le forum Langage
    Réponses: 7
    Dernier message: 10/05/2006, 23h35

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