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 :
b.pl :
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__
Mes 2 fichiers se trouvent au même niveau de mon arborescence dans le dossier cgi-bin.
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>";
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
Partager