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

Modules Perl Discussion :

erreur lorsque j'utilise le module session


Sujet :

Modules Perl

  1. #1
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut erreur lorsque j'utilise le module session
    bonjour

    j'ai l'erreur suivante lorsque j'excute ma page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    CGI::Session doesn't seem to be a valid CGI::Session driver. At least one method ('store') is missing at C:/Perl/site/lib/CGI/Session.pm line 150
    	CGI::Session::_validate_driver('CGI::Session=HASH(0x1a8d128)') called at C:/Perl/site/lib/CGI/Session.pm line 55
    	CGI::Session::new('CGI::Session') called at C:/Program Files/Apache Group/Apache2/cgi-bin/pages/compte.pl line 11
    mon code simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    my $cgi = new CGI;
     
    my $session=new CGI::Session->("driver:File",$cgi,{Directory=>'../sessions'});
     
    my $sessionpseudo=$session->$pseudo;
    merci
    c@simir

  2. #2
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    bon j'ai avancé j'avais mis "S"ession au lieu de "s"

    maintenant j'ai une autre erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Can't locate object method "new" via package "CGI::session" (perhaps you forgot to load "CGI::session"?)
    c@simir

  3. #3
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    bon j'ai encore progressé j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $session=CGI::Session
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $session=CGI::session
    maintenant j'ai l'erreur suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    an't locate auto/CGI/Session/File/akatar01.al in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib) at C:/Program Files/Apache Group/Apache2/cgi-bin/pages/compte.pl line 151
    j'ai cherché sur le forum une personne a eu le même souci parce que justement il avait ma orthographié le mot "session" dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    use CGI::session;
    mais moi je l'ai bien écris pourtant ....????
    c@simir

  4. #4
    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
    Bonjour,
    As tu installé le module CGI ? Le module CGI::Session ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    use  CGI;
    use CGI::Session;
     
    $cgi=new CGI;
    $session=CGI::Session->new("driver:File",$cgi,{Directory=>'../sessions'});
    tout le monde est d'accord pour critiquer la pensée unique

  5. #5
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    oui j'ai installé le module CGI::Session

    j'ai écris le même code que toi puisque tu me l'avais déjà donné ...

    mais là je ne vois où est le souci ?

    puisque j'ai fais attention au majuscule pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    use  CGI;
    use CGI::Session;
     
    $cgi=new CGI;
    $session=CGI::Session->new("driver:File",$cgi,{Directory=>'../sessions'});
    je suis sous windows 2000 peut être que le Directory doit être écris autrement ?
    c@simir

  6. #6
    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
    Tu as aussi installé le module CGI ?
    tout le monde est d'accord pour critiquer la pensée unique

  7. #7
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    normalement oui puisque j'utilise les modules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    use CGI::Carp qw(fatalsToBrowser);
    use CGI qw ( :standard );
    donc je suppose que j'aurais une erreur si il n'étais pas installé ???
    c@simir

  8. #8
    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
    Ahh, alors mes compétences encore très faibles s'arrêtent là...

    Désolé, mais il y a plein de gens sur ce forum qui sont très doués et qui trouveront probablement la cause du problème.
    tout le monde est d'accord pour critiquer la pensée unique

  9. #9
    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 qu'y a-t-il ligne 151 de ton script ?

    --
    Jedaï

  10. #10
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    bien c'est à cette ligne que je mets en session voici le code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    my $sessionpseudo = $session->$pseudo;
    aurais-je commis une erreur ?
    c@simir

  11. #11
    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
    pour définir une variable de session il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $session->param("Nom_variable",$val);
    pour définir un tableau en variable de session:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $session->param("Nom_variable",\@val);
    pour récupérer une variable de session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $val=$session->param("Nom_variable");
    tout le monde est d'accord pour critiquer la pensée unique

  12. #12
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    bien là ça marche mieux effectivement ...

    par défaut une session dure combien de temps ?
    c@simir

  13. #13
    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
    Je crois que par défaut, la session n'expire pas.
    pour définir l'expiration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $session->expire('1M');
    Il y a une explication sur les expirations à cette addresse:

    http://search.cpan.org/~sherzodr/CGI....pm#EXPIRATION
    tout le monde est d'accord pour critiquer la pensée unique

  14. #14
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    bien j'avais déjà vu cette synthaxe la mais dés que je l'ajoute j'ai l'erreur suivante similaire à tout à l'heure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Can't locate auto/CGI/Session/File/expire.al  in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib) at C:/Program Files/Apache Group/Apache2/cgi-bin/pages/compte.pl line 154
    donc me module CGI est bien installé j'arrive à créer une session cette fois puis à l'afficher mais la synthaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $session->expire(3600);
    que je trouve sur le site http://search.cpan.org/~sherzodr/CGI-Session-4.03/lib/CGI/Session/Tutorial.pm#EXPIRATION

    ne semble pas plaire à l'execution ...

    y aurait-il encore une fois un souci de synthaxe ??
    c@simir

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/02/2015, 16h59
  2. Réponses: 1
    Dernier message: 05/04/2009, 21h31
  3. Rediriger les erreurs en utilisant le module logging
    Par kazh75 dans le forum Général Python
    Réponses: 5
    Dernier message: 12/02/2009, 09h59
  4. Réponses: 4
    Dernier message: 12/08/2008, 12h50
  5. Erreur lorsque je ferme une session.
    Par fredangel dans le forum Langage
    Réponses: 13
    Dernier message: 24/05/2006, 16h38

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