Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1
    Invité de passage
    Homme Profil pro claude Jaya
    Technicien réseau
    Inscrit en
    janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme claude Jaya
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : janvier 2012
    Messages : 12
    Points : 4
    Points
    4

    Par défaut Problème affichage CGI

    Bonjour à tous,

    Sa fais quelques jours que je parcours votre forum et cela m'aide beaucoup afin de réaliser ma CGI en Perl. Malgré l'abondance des sujets et votre Faq très complète je galère pas mal a réaliser une simple page de test. Dans ce cas envoyer simplement des informations depuis une page HTML (en méthode POST) vers un document .pl .

    J'ai par ailleurs installé le module complémentaire pour faire fonctionner Perl sous Eclipse. Bien que je suis sur Mac et que j'ai déja Perl intégré dans le terminal j'ai préféré cette solution.

    Mes deux pages (HTML & PERL) sont bien sur dans le dossier CGI-BIN.
    Ma page HTML se lit sans problème mais dés que les informations sont envoyés vers le page .pl le naviguateur n'affiche plus rien ...

    Je pense pas que le chemin d'accès soit la cause de ce problème mais j'attend avec impatience vos conseils.




    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Page de commentaire</title>
    </head>
    <body bgcolor="#E0E0E0" text="#000000">
    <h1>Votre commentaire</h1>
    <form action="http://localhost/cgi-bin/comments.pl" method="post">
    <p>Name:<br><input size="40" maxlength="40" name="utilisateur"></p>
    <p>Text:<br><textarea rows="5" cols="50" name="commentaire"></textarea></p>
    <p><input type="submit" value="envoyer"></p>
    </form>
    </body>
    </html>


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #!/usr/bin/perl -w
     
    use strict;
    use CGI;
     
    my $cgi = new CGI;
    use CGI::Carp qw(fatalsToBrowser);
     
    my @noms_champ = $cgi->param();
     
    print $cgi->header(),
          $cgi->start_html('avis CGI du programme '),
          $cgi->h1('avis CGI du programme ',$cgi->i('comments.pl'));
          foreach my $champ (@noms_champ) {
            print $cgi->b('nom de champ: '),
                  $champ,
                  $cgi->b(', contenu: '),
                  $cgi->param($champ), "<br>";
          }
    print $cgi->end_html();

  2. #2
    Invité de passage
    Homme Profil pro claude Jaya
    Technicien réseau
    Inscrit en
    janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme claude Jaya
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : janvier 2012
    Messages : 12
    Points : 4
    Points
    4

    Par défaut Probleme Apache

    En relisant bien les questions du forum, j'ai au final compris que Apache n'était pas configuré ...

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 660
    Points : 490 376
    Points
    490 376

    Par défaut

    C'est ok maintenant ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  4. #4
    Invité de passage
    Homme Profil pro claude Jaya
    Technicien réseau
    Inscrit en
    janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme claude Jaya
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : janvier 2012
    Messages : 12
    Points : 4
    Points
    4

    Par défaut

    Déja je tient à te remercier de l'attention que tu porte à mon problème.

    Je n'ai pas encore réussi à autoriser les CGI dans Apache.
    J'obtiens aussi des erreurs quand je code sur Eclipse. Est que le fait de ne pas avoir réussi à autoriser les CGI sur Apache l'empêche sur Eclipse ?

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 660
    Points : 490 376
    Points
    490 376

    Par défaut

    Je ne travaille pas sous eclipse, donc aucune idée .

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  6. #6
    Invité de passage
    Homme Profil pro claude Jaya
    Technicien réseau
    Inscrit en
    janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme claude Jaya
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : janvier 2012
    Messages : 12
    Points : 4
    Points
    4

    Par défaut

    Dommage ..

    Si par contre tu aurais une idée de comment mettre s'occuper de Apache pour les CGI je suis prenant.

    D'ailleurs mon dossier cgi-bin est placé dans mon document MAMP. C'est normal ?

    Dans tout sa j'ai testé les deux fichiers printenv qui me sort bien toutes les informations. Par contre, le test-cgi ne m'affiche aucune infos !

  7. #7
    Invité de passage
    Homme Profil pro claude Jaya
    Technicien réseau
    Inscrit en
    janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme claude Jaya
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : janvier 2012
    Messages : 12
    Points : 4
    Points
    4

    Par défaut

    J'ai modifié le fichier httpd.conf afin d'autoriser les CGi. Malgré sa lorsque j'essaye d'acceder a mon fichier via l'URL, Apache m'annonce que je ne suis pas autorisé !

    Ne me laissant pas faire, je vais dans le Terminal et j'entre cette commande :

    Code :
    chmod a+x nom_du_chemin_fichier
    Et tadaamm !! Sa marche pour faire tourner un " Hello World !".

    Heureux comme pas, je modifie le code afin de changer ce " Hello World ! " par ceci :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    print $cgi->header, <<html;
    <form action="test.pl" method="post">
    html
    while (my @row = $sth->fetchrow)
    {
    print $cgi->header, <<html;
    ID:<input name="pid" value="@row[0]" readonly="true"/><br/>
    Name: <input name="pname" value="@row[1]"/><br/>
    Description : <input name="pdescription" value="@row[2]"/><br/>
    Unit Price :<input name="punitprice" value="@row[3]"/><br/>
    html
    }
    print $cgi->header, <<html
    <input type="submit" value="update Row">
    </form>
    html
    Et la c'est le drame --> 500 Internal Error ... Impossible d'ouvrir la page.

    Quelqu'un aurait une solution ??

  8. #8
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 660
    Points : 490 376
    Points
    490 376

    Par défaut

    Quand tu as une erreur 500, cela veut dire que tu as une erreur Perl. Il faut consulter le fichier log d'apache.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  9. #9
    Invité de passage
    Homme Profil pro claude Jaya
    Technicien réseau
    Inscrit en
    janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme claude Jaya
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : janvier 2012
    Messages : 12
    Points : 4
    Points
    4

    Par défaut

    Merci ton aide

    Tu as raison le log me previent de :Can't find string terminator "html" anywhere before EOF at /Applications/MAMP/cgi-bin/test2.pl line 17.

  10. #10
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 660
    Points : 490 376
    Points
    490 376

    Par défaut

    Essaye déjà ce code perl à la place du tiens :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #!/usr/bin/perl
    use Carp;
    use strict;
    use warnings;
     
    use CGI;
     
    my $cgi = CGI->new;
    print $cgi->header();
    print $cgi->start_html( 
      -title => 'Page de test CGI',
    );
     
    print <<'HTML';
      Bonjour <b>calu45</b>, tout fonctionne correctement !
    HTML
     
    print $cgi->end_html();

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  11. #11
    Invité de passage
    Homme Profil pro claude Jaya
    Technicien réseau
    Inscrit en
    janvier 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme claude Jaya
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : janvier 2012
    Messages : 12
    Points : 4
    Points
    4

    Par défaut

    Oui sa marche nickel !

    J'ai aussi réussi a a générer les informations transmit depuis un formulaire HTML.

    Je commence a mieux comprendre ce fameux language Perl

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •