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 :

afficher et sauvgarder fichier html


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut afficher et sauvgarder fichier html
    Bonjour à tous,
    j'essai depuis plusieur jours de chercher des information mais sans grand succé.
    depuis le dernier probleme du forum. ya quelque message que je voulais revoir mais qui semble être effacer.

    je vous explique mon problem
    j'ai mis en place un formulaire html qui parmet (en fonction des choix selectionnés pas l'utilisataur et de clic sur le bouton submit) d'applé un script cgi pour qu'à la fin m'affiche les résultats sur une page html sous forme de tableau, jusqu'au la tous merche.
    ce que je veux faire est que dans la feuille de résultat je puisse cliqué sur un bouten ou un lien comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (<a href='../fichier_cible/tmp.txt'>download</a>)
    pour me telecharger un fichier_resultat prealablement enregistré.
    esque, dans un seul script cgi, je peus dans un premier temps afficher le resultat dans une page html et enregistré le resultat dans repertoir donné en forma .txt, .html et .xls

    merci pour votre réponse

  2. #2
    Expert confirmé
    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
    Par défaut
    Citation Envoyé par sarah.c.g Voir le message
    esque, dans un seul script cgi, je peus dans un premier temps afficher le resultat dans une page html et enregistré le resultat dans repertoir donné en forma .txt, .html et .xls
    Oui.

    --
    Jedaï

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Oui.

    --
    Jedaï

    et comment

    voila mon code du script cgi

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    #! /usr/bin/perl -w
    use CGI;
    use CGI ':standard';
    use CGI::Carp qw/carpout fatalsToBrowser set_message/;
    $CGI::POST_MAX=5000000;
    use strict;
    #Creation du CGI
    ################
    my $cgi = new CGI;
    #recuperation des parametres 
    ############################
    my $mir =  $cgi -> param('age');my $fichier =  $cgi -> param('taille');
    #creer la requete
    #################
    open (MIRE, "../fichier/$fichier") || die "Pbl ouverture fichier MIRE";
    #ce fichier contient une liste des famille trés nombreuse
    while ($ligne = <MIRE>)
    {	
    	chomp $ligne;
    	for ($ligne =~ m/$mir\t.+/)
    	{
    		@split=split('\t',$ligne);
    		$split[1]=~ s/ .+//g;
    		for ($split[1]=~ m/§(.+)&/){$nom=$1;}
    		for ($split[1]=~ m/_(.+)%/){$prenom=$1;}
    $champ="nom=$nom&prenom=$prenom&age=$age&taille=$taille";
    $gd="<A HREF=\"http://localhost/cgi-bin/sarah_cgi/cgi/cadre_histogramme.cgi?$champ\" target=\"bas\">Histogramme</A>";
     
     
    #pour trier le tableau
    #################
    if ($split[1] ne "")
    {$trie{"<tr><td>$split[1]</td><td>$split[2]</td><td>$split[3]</td><td>$split[4]</td><td>$gd</td></tr>"}="$symbol";}
    else
    {$trie{"<tr><td>$split[1]</td><td>$split[2]</td><td>$split[3]</td><td>$split[4]</td><td>$gd</td></tr>"}="$symbol_bis";}
     
    	}
    	$ligne++;
    }
    close MIR;
     
    # pour trier le tableau
    #######################
    my @liste = keys(%trie);my @valeur = values(%trie);
    my @indice = (0..$#valeur+1);
    my @out = sort {$valeur[$a] <=> $valeur[$b]} (@indice);
    foreach my $tmp (@out)
    {push(@tab, "$valeur[$tmp]"."==="."$liste[$tmp]");}
    foreach my $tmp (@tat)
    {	$tmp=~ s/.*===(.*)/$1/;
    	push (@tableau, "$tmp");}
     
    # affichage du résultat dans une page html 
    #print "Content-Type : text/html";
    ##################################
    print $cgi->header();
    print "<html><head><style type='text/css' media='all'>body {scrollbar-face-color: navy;scrollbar-arrow-color: blue; 
    scrollbar-track-color: pink;scrollbar-3dlight-color: silver;scrollbar-darkshadow-color: dark;scrollbar-shadow-color : red;
    scrollbar-highlight-color: color;}</style>";
    print "<title> Résultats de la recherche</title></head>";
    print "<table border=\"1\" CELLPADDING=\"1\">";
    print "<tr align=center><th>nom</th><th>prenom</th><th>tel</th><th>adresse</th><th>histogramme</th></tr>";
    print "@tableau";
    print "</table></html>";
    comment je dois faire pour avoir une version enregistré de ce résultat dans un répertoire propre

  4. #4
    Expert confirmé
    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
    Par défaut
    Il suffit d'ouvrir le fichier souhaité en écriture et y écrire ce que tu veux... Autrement dit, au lieu d'imprimer directement ton HTML tu le mets dans une variable puis tu l'imprimes sur la sortie standard et dans ton fichier. Si tu ne sais pas faire de l'IO en Perl, n'hésite pas à consulter notre FAQ.

    --
    Jedaï

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    tu veux dire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    77 open (ECRIR, ">home/sarah/fichier.txt") || die "Pbl ecriture fichier ECRIR";
    78 print ECRIR "@tableau";
    79 close ECRIR;
    mais avec ça je reçoi cette erreru;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Software error:
    Pbl ecriture fichier ECRIR at /var/www/cgi-bin/sarah_cgi/cgi/mon_script line 77.
    For help, please send mail to the webmaster (root@localhost), giving this error message and the time and date of the error.
    tu veux dire koi par l'IO en perl ??

    autre probleme est quand je lence mon script ./mon_script.cgi je reçoi ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Tue Aug  5 11:52:01 2008] mon_script.cgi: Use of uninitialized value in concatenation (.) or string at ./mon_script.cgi line 20.
    et la ligne 20 c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open (MIRE, "../fichier/$fichier") || die "Pbl ouverture fichier MIRE";

  6. #6
    Expert confirmé
    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
    Par défaut
    $fichier n'est pas défini à la ligne 20, tu ne l'as pas initialisé.

    Par ailleurs tu n'arrives pas à ouvrir "home/sarah/fichier.txt", mais ce n'est pas très surprenant : je doute qu'il y ait un répertoire "home" dans ton cgi-bin, même si tu avais écris correctement "/home/sarah/fichier.txt", ton utilisateur apache n'aurais sans doute pas eu les droits d'écriture dans ce répertoire.

    --
    Jedaï

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

Discussions similaires

  1. Impossible d'afficher fichiers HTML après compilation avec HTML Help Workshop
    Par MoonZulu dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 25/04/2010, 11h55
  2. afficher un fichier HTML dans un div
    Par fmargoulin dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/04/2008, 15h15
  3. Comment afficher dans une page html un fichier flash sans problème d'activeX
    Par Alexandrebox dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/05/2007, 17h39
  4. Réponses: 2
    Dernier message: 20/11/2005, 18h54
  5. Comment afficher un fichier HTML
    Par Xavier dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/03/2004, 07h56

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