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 :

Perl en CGI?


Sujet :

Web Perl

  1. #21
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    tu peux montrer ton formulaire stp ?
    et au fait, tu devrais utiliser "use strict"....

  2. #22
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    mon formulaire:

    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
    <html>
    <head>
    <title>Application Excel - BDD</title>
    </head>
     
    <body bgcolor="#6699FF">
     
    <form method="get" action="/cgi-bin/get_file.pl" ENCTYPE="multipart/form-data" >
     
    <h4>Please send your excel file:</h4> 
    <input type="file" name="FILE1">
    <br>
    <input type="submit" value="Envoyer">
    </form>
    </body>
    </html>
    et sinon d'habitude j'utilise use strict mais comme je me suis fortement inspiré d'un script trouvé sur le net, j'ai pas changer ca!

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #23
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    1) pourquoi as-tu un while alors que tu n'as que FILE1 à uploader ?
    2) tu pourrais peut-être mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $File[$NumFile] = $req->param("FILE$NumFile");
    ca me semble aussi simple

  4. #24
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    oui je sais mais j'ai gardé cette partie de code au cas ou si je veux faire evoluer dmon formulaire e toute facon ca ne change en rien le fonctionnant pour un seul fichier!

    l'erreur ne vient pas de la

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #25
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    je viens de la voir....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $req = new CGI;
    Ca risquait pas de marcher !!!!!!
    grrrr !!! tjrs utiliser "use strict"

  6. #26
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    non toujours pas malheureusement ! mais merci pour ton aide

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  7. #27
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    read() on unopened filehandle at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 66.\n
    Use of uninitialized value in string ne at c:\\WEBSER~1\\cgi-bin\\get_file.pl line 36.\n
    je suppose que l'upload fonctionne pas car il arrive pas a ouvrir le fichier a l'endroit ou il doit etre uploader ! et en effet il ne le copie pas dans ce repertoire...

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  8. #28
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    bizarre que ton nom de fichier soit vide...
    perso j'utilise ce petit script pour récupérer un fichier :

    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
     
    my $UPLOAD_DIR = "doc/";
    my $UPLOAD_URL = "/toto/doc/";
     
    my $doc = $query_cgi->param('doc');
    my $result = upload($doc) if $doc ne "";
     
    -------------------------------
     
    sub upload  {
    	my $doc = $_[0];
    	my @t = split /\\/,$doc;
    	my $doc_name = $t[$#t];
     
    	my($query, $file_name, $upload_dir) = @_;
        my($size, $buff, $bytes_count);
    	$size = $bytes_count = 0;
     
     
    	if (! $doc) {
    		return "Le document n'existe pas !!!";
    	}
    	elsif (-e "$UPLOAD_DIR$doc_name") {
    		return "Le document existe déjà !!!";
    	}
    	else {
    		my ( @safedoc_name ) = ( $doc_name =~ /(\w+)/g );
    		my $safedoc_name = "@safedoc_name";
    		$safedoc_name =~ s/\s/\./g;
     
    		open(FILE,">$UPLOAD_DIR$safedoc_name") || print ("Error opening file $file_name for writing, error $!", 1);
        	binmode FILE;
        	while ($bytes_count = read($doc, $buff, 1024)) {
        		$size += $bytes_count;
    	        print FILE $buff;
        	}
    	    close(FILE);
    		return "La doc $UPLOAD_DIR$safedoc_name a été enregistré.";
    	}
    }
    Si ca peut t'aider pour sûr je vois que j'ai un binmode de mon filehandle qui traine là où tu n'en as pas. Tu peux tjrs utiliser ce bout de code pour t'assurer que tu peux uploader un fichier, pour tester avec ton fichier excel. après tu auras juste à reprendre la partie qui teste l'extension

  9. #29
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    bon la j'halucine ton script marche pas chez moi !!!!!!!!!!!!!!!!

    j'ai exactement la meme erreur!

    le probleme doit etre plus profond soit j'ai rien compris soit je suis trop crevé pour voir ce qui est evident :

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  10. #30
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    essaie méthode post au lieu de get dans ton script à tout hasard ?

  11. #31
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    ca n'y change rien, method get ou post peut importe j'ai toujours ce message...
    Premature end of script headers: c:/webserver/cgi-bin/get_file.pl
    Can't call method "param" on an undefined value at c:\\WEBSER~1\\cgi-bin\\get_fi~2.pl line 12.\n
    j'commence a croire que j'ai fait un enorme oublie mais lequel : ???


    histoire d'etre sur: peux tu me filer ton script perl entier et ton formulaire, s'il te plait?histoire de tester sans rien modifier dans ton script!

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  12. #32
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    il fait 3500 lignes, t sûr ?

    c koi la ligne 12 de ton script ?

  13. #33
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $doc = $query_cgi->param('FILE1');

    mais c'est bizarre mon script (pas celui que tu m'as filé) fonctionne quand je le lance d'une invite de commande mais fonctionne plus avec le formulaire!

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  14. #34
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    et tu as bien déclaré $query_cgi à la place $req ?

  15. #35
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    voila le log quand j'utilise ton code :

    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] malformed header from script. Bad header=Error opening file for writin: c:/webserver/cgi-bin/get_file_upload2.pl
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] Use of uninitialized value in concatenation (.) or string at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 38.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] binmode() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 39.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    [Tue Apr 11 13:59:56 2006] [error] [client 127.0.0.1] print() on closed filehandle FILE at c:\\WEBSER~1\\cgi-bin\\GET_FI~2.PL line 42.\n
    et ligne 42 c'est :

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  16. #36
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    c la ligne 38 qui foire parce que le nom de ton fichier est vide...
    mets des print un peu partout dans ton script pour voir où tu perds le nom de ton fichier

  17. #37
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    euh je crois que ca va etre une question "alacon" mais je me demande pocomment faire ur voir les print d'un fichier cgi avec un formulaire? et ou les voir?

    parce que si je ne fait que compiler le *.pl il n'y a pas le cfichier et si je lance le formulaire j'ai juste le droit a Internal Server Error

    et pourquoi il me met a chaque fois une erreur quand on test si le doc est pas vide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $result = upload($doc) if $doc ne "";
    il aime pas le ne "" !!! mais pourquoi? il me dit uninitialized value in string ne

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  18. #38
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    mets ca au début de ton script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print $query_cgi->header, start_html();
    enlève tes print à la fin, mets juste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	print $query_cgi->end_html;
    à la place. et mets des print entre les 2

  19. #39
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    euh quel print a la fin ? c'est pas clair la

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  20. #40
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    print "Content-type: text/html\n\n";
    print "<HTML><HEAD><META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0; URL=" . $namefile . "\"></HEAD><BODY></BODY></HTML>";
    exit;
    ca gicle

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Apache script perl upload.cgi
    Par Blueyes50 dans le forum Apache
    Réponses: 2
    Dernier message: 14/08/2012, 23h05
  2. Executer des scripts perl en CGI
    Par Pedro87 dans le forum Web
    Réponses: 3
    Dernier message: 09/03/2009, 21h54
  3. questions à propos de Perl - scripts cgi
    Par jejerome dans le forum Web
    Réponses: 10
    Dernier message: 28/02/2006, 08h17
  4. [perl/GD/CGI] trouver des exemples graphiques
    Par LE NEINDRE dans le forum Web
    Réponses: 4
    Dernier message: 28/07/2005, 17h58

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