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: validation du formulaire ne redirige pas vers le script cgi désiré


Sujet :

Web Perl

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Points : 32
    Points
    32
    Par défaut CGI: validation du formulaire ne redirige pas vers le script cgi désiré
    Bonjour,

    Me revoici parmi vous pour un nouveau problème, je suis en train de perdre ma matinée là dessus, et ça commence à me chauffer les oreilles.

    Rien de plus simple, j'ai un premier script en CGI/perl pour mon formulaire. Je l'ai appelé Html.pm, et un script pour récupérer le paramètre que j'ai appelé b.pl.

    Les deux fichiers sont en 755, ils compilent sans erreur en mode commande, je veux les tester, j'affiche donc mon formulaire dans le navigateur pas de problème, je saisi le paramètre, pas de problème, je clique sur "Submit" et là : ça me redonne mon formulaire vide, et ça ne me dirige pas vers mon script b.pl.


    Html.pm :
    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
     
    #!/usr/bin/perl -w
    package Html;
    use Exporter;
     
    use CGI qw/:standard/;
    use warnings;
    use strict;
    use TopPage;
    use FootPage;
     
    sub body{
    	print 	header, 
    		start_html(-title=>'GenCan',-style=>{-src=>"http://localhost/styles/Style.css"}),
    		start_form;
    	TopPage::top_page();
    	print div({-id=>'Title'},h1('Form')),p,start_form;
    	print	"<FORM NAME=\"form\" ACTION=\"b.pl\" METHOD=\"POST\">
    				<INPUT TYPE=\"text\" NAME=\"prenom\">
    				<INPUT TYPE=\"submit\" VALUE=\"Envoyer\">
    			</FORM>";
    	FootPage::foot_page();
    }
    &body();
     
    1;
     
    __END__
    b.pl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/usr/bin/perl
    use warnings;
    use CGI;
    use strict;
     
    my($cgi) = new CGI;
    print "Content-type: text/html\n\n";
     
    my($prenom) = $cgi->param("prenom");
    print "Bonjour <b>".$prenom."</b>";
    Mes 2 fichiers se trouvent au même niveau de mon arborescence dans le dossier cgi-bin.
    Je me suis dis que ça venait peut-être de la façon dont je mettais le chemin dans "action", j'ai testé :
    ACTION=\"b.pl\"
    ACTION=\"/cgi-bin/b.pl\"
    ACTION=\"http://localhost/cgi-bin/b.pl\"
    mais rien...

    serait-ce un problème de droit d'exécution du cgi ?

    Help !

    Merci de votre aide

  2. #2
    Expert éminent
    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
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu as deux start_form() sans paramètres et tu print()es directement un <Form>... En bref c'est le bordel, ça ne m'étonne donc pas que le navigateur y perde les pédales.

    --
    Jedaï

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Points : 32
    Points
    32
    Par défaut
    oui pour les 2 start_form, j'ai vu, j'ai enlevé le premier. Par contre je ne comprends pas quand tu dis que je print directement <Form>, cela pose un problème? que faut-il avant?


    NB: mon top_page, s'occupe de "printer" la bannière et le menu...


    ___EDIT___

    En regardant le code HTML de ma page, j'ai compris l'erreur ! idiote en plus... J'ai retiré les 2 start_form du début et ça fonctionne.

    Merci Jedaï

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

Discussions similaires

  1. Mon hébergeur ne redirige pas vers ma page index
    Par aclait dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 15/05/2014, 13h02
  2. Validation du formulaire ne fonctionne pas
    Par Arzawe dans le forum Langage
    Réponses: 5
    Dernier message: 26/01/2012, 11h47
  3. Réponses: 3
    Dernier message: 27/08/2007, 23h35
  4. Réponses: 1
    Dernier message: 20/07/2006, 17h46
  5. Validation de formulaire ET renvoi vers autre page
    Par mosquitout dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/11/2005, 10h22

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