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 :

Can't call method "param" on an undefined value


Sujet :

Web Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Can't call method "param" on an undefined value
    Bonjour,

    Je suis débutant en perl et on m'a donné comme boulot de refaire marcher une appli CGI/Perl et je rencontre un problème bloquant.
    Ma conf :
    Redhat 9
    Apache 2.0.40
    perl 5.8.0
    mod_perl 1.99

    Mon problème est que j'ai ce message suivant quand je passe d'une page à une autre en passant des paramètres par l'url.

    Avez vous une piste ?
    Merci d'avance
    Seb

    Le message :
    Le serveur a èté victime d'une erreur interne et n'a pas été capable de faire aboutir votre requête.

    Message d'erreur:
    Can't call method "param" on an undefined value at /var/www/perl/procedure_list.pl line 23.
    Si j'insiste en faisant des refresh, des fois ca passe et des fois non

    Voici le debut du code de procedure_list.pl
    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
     
    #!/usr/bin/perl
     
    use Apache::compat;
    use CGI;
    use CGI "escapeHTML";
    use DBI;
    use strict;     # bien penser a utiliser "my" pour declarer les variables
    use DocBaseConfig;
    use DocBaseConfig2;
     
     
     
    use vars ('$dbh', '$query','$nodatabaseconnect');
     
    my ($sth, $rc);
     
    require '/var/www/perl/config.pl';#cgi + info sesion
    require '/var/www/perl/sub_keycount.pl';#filtres sur procedures
     
    $nodatabaseconnect = 1;
     
    #traitement de l url
    my $filter = $query->param('filter_name');
    my $planif_id = $query->param('planif_id');
    my $submit_button_pressed = $query->param('submit_button');
    my $document_id = $query->param('document_id');
    my $match_string = $query->param('matching');
    my $active_filter;
    my $active_document=0;
    my $active_planif=0;
    voici le debut du code de config.pl :
    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
     
    use strict;
    use CGI;
    use CGI "escapeHTML";
    use CGI::Session;
    use File::Basename;
    use Date::Format;
     
    use vars ('$dbh','$query','$dontchecklogin','$login','$nodatabaseconnect','$session');
     
    $query = new CGI;
    $session = new CGI::Session('driver:File', scalar $query->cookie(CGI::Session->name()), {'Directory'=>'/var/www/session'});
    $session->expire('+24h');
     
    my $cookiepath = $ENV{SCRIPT_NAME};
    $cookiepath =~ s/[^/]+$;
    print 'Set-Cookie: '.CGI::Session->name().
        '='.$session->id().'; path='.$cookiepath.'; expires='.
        time2str('%a, %d-%b-%Y %H:%M:%S %Z', $session->expire() + time, 'GMT')."\n";
     
    if(!defined $dontchecklogin){
        $login = $session->param('login');
     
        if(!defined $login){
    	print <<'EOT';
    Content-Type: text/html; charset=ISO-8859-1

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Après investigation, j'ai remarqué que la ligne require("config.pl") n'a pas un comportement normal.
    Si je met dans procedure_list.pl alors ça marche.

    Une explication ?

Discussions similaires

  1. Can't call method "mail" on an undefined value
    Par pausg dans le forum Modules
    Réponses: 5
    Dernier message: 18/07/2008, 17h14
  2. Réponses: 8
    Dernier message: 21/03/2007, 20h09
  3. Can't call method "mail" on an undefined value
    Par hpalpha dans le forum Modules
    Réponses: 2
    Dernier message: 18/01/2006, 10h50

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