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 :

[CGI] Conflit dans la création d'un objet CGI


Sujet :

Web Perl

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 92
    Points : 116
    Points
    116
    Par défaut [CGI] Conflit dans la création d'un objet CGI
    ReHello! =/

    Est-il possible d'appeler 2 fois un module $blahblah = CGI->new(); ? Car dans l'execution de mon script, il se créé une erreur ou plutôt un conflit car, à mon avis, le package nuit à l'index puisque (c'est un script d'upload) les pages s'affichent correctement mais les données n'apparaissent plus et l'upload ne se fait plus...

    Code du package:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    package Core;
    use strict;
    use CGI qw/:standard/;
    use CGI::Carp qw(fatalsToBrowser);
    [...]
    
    my $query = CGI->new();
    my $ulog = $query->cookie(-name => "s2o-login");
    my $pass = $query->cookie(-name => "s2o-pass");
    [...]

    Ca, c'est pour le package envoyé à index.cgi... Et dans index.cgi, j'ai

    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
    #!/usr/bin/perl
    ### s2o, oct 2007
    use strict;
    use DBI();
    use CGI::Carp qw(fatalsToBrowser);
    use lib '.';
    use Core;
    use HTML::Template;  
    use CGI qw/:standard/;
    use Digest::Perl::MD5 qw(md5_base64);
    
    my $f;
    my $cgi = CGI->new();
    
    my $act = $cgi->param('act');
    [...]
    Et j'ai bien l'impression que ces 2 nouveaux objets CGI sont en conflit car si j'enlève le CGI->new(); du package en remplaçant les variables par des constantes, ça fonctionne!

    Un idée?

    Merci d'avance!
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class certified{
       private $CV;
       public function __construct($CV){
          $this->CV="W3 Excellence";   
       }
       public function certification(){
          echo $this->CV . " Javascript, PHP, CSS, MySQL";
       }
    }
    $wenijah = new certified();

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 92
    Points : 116
    Points
    116
    Par défaut Résolution du conflit grace à CGI::Cookie
    Résolu! Oui, pour ceux qui aurait un souci similaire, utilisez CGI::Cookie!

    Exemple:

    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
    use strict; # toujours en strict
    use CGI qw/:standard/; # ou use CGI;
    use CGI::Cookie; # pour la récup' du cookie
    use CGI::Carp qw(fatalsToBrowser); # pour le log
     
    # root - récupérer le cookie
     
        my $cookie; &getCookie;
     
    sub getCookie
    {
        my $r = shift;
        my %cookies = CGI::Cookie->fetch($r);
        my $cookies = %cookies;
     
    # on vérifie que le cookie contient une valeur
     
        if (defined $cookies) 
        {
        $cookie = $cookies{("nom_du_cookie")};
     
    # si oui, on retourne la valeur dans $cookie
     
        if (defined $cookie) {
     
        $cookie = $nom_du_cookie->value;
     
        }}else{
     
    # si non, on retourne soit une erreur, soit un blanc
     
        $cookie="";
     
        }
    }

    Et voilà! Maintenant, si quelqu'un à plus simple, n'hésitez pas à poster!! =)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class certified{
       private $CV;
       public function __construct($CV){
          $this->CV="W3 Excellence";   
       }
       public function certification(){
          echo $this->CV . " Javascript, PHP, CSS, MySQL";
       }
    }
    $wenijah = new certified();

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

Discussions similaires

  1. Erreur du création d'un objet dans une page JSP
    Par hela.sfar dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 03/08/2012, 16h56
  2. Création d'un objet dans un diagramme de séquence
    Par Caradoc dans le forum BOUML
    Réponses: 2
    Dernier message: 22/02/2008, 08h15
  3. Problème création d'un objet dans une Form
    Par helico2 dans le forum C++/CLI
    Réponses: 7
    Dernier message: 02/01/2008, 16h32
  4. [1.x] Création de plusieurs objets dans mon action.class.php
    Par lijko dans le forum Symfony
    Réponses: 2
    Dernier message: 30/12/2007, 13h37
  5. création d'un objet dans un Tobjectlist
    Par niarkyzator dans le forum Delphi
    Réponses: 2
    Dernier message: 07/01/2007, 20h47

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