cgi de perl qui marche pas debutant )

cgi de perl qui marche pas debutant ) - Perl - Programmation

Marsh Posté le 08-02-2003 à 11:27:01    

bonjour a tous,
je suiss en tp la et le prof est meme pas foutu de debugger le truc u'il nous a passé :/
je vous recopie l'erreur:  
Premature end of script headers: monScript.cgi, referer: http://localhost:8080/
 
 
 
le formulaire en html:
 
<html>
  <head>
    <title>COULEURS</title>
  </head>
   
  <body>
     
    <form method="POST" action="../cgi-bin/monScript.cgi" name="monForm">
      <input type=checkbox name=rouge value=1>Rouge<br>
      <input type=checkbox name=vert value=1>Vert<br>
      <input type=checkbox name=bleu value=1>Bleu<br>
      <input type=checkbox name=jaune value=1>Jaune<br>
      <input type=submit value="soumettre la requete"><br>
    </form>
 
  </body>
</html>
 
 
Puis enfin le script cgi:
#!/usr/bin/perl
 
print "Content-type:text/html\n\n";
 
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
 
@pairs = split(/&/, $buffer);
 
foreach $pair (@pairs) {
    ($name, $value) = split(/=/, $pair);
    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $FORM{$name} = $value;
}
print "<html><head><title>resultat</title></head>\n";
print "<body>\n";
print "<h2>Resultats</h2>\n";
 
@couleurs = ("rouge","vert","bleu","jaune" );
 
foreach $x (@couleurs) {
    if($FORM{$x} == 1) {
 print "Votre choix est $x\n";
    }
}
 
print "</body></html>\n";
 
 
 
 
 
 
 
Et voila, vu que c mon premier prog en perl, je sais pas du tout ou il paut y avoir une erreur

Reply

Marsh Posté le 08-02-2003 à 11:27:01   

Reply

Marsh Posté le 09-02-2003 à 15:33:09    

essai un truc kom ca avec le module CGI
 

Code :
  1. #!/usr/bin/perl
  2. use CGI qw(:standard);
  3. read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
  4. @pairs = split(/&/, $buffer);
  5. foreach $pair (@pairs) {
  6.    ($name, $value) = split(/=/, $pair);
  7.    $value =~ tr/+/ /;
  8.    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  9.    $FORM{$name} = $value;
  10. }
  11. @couleurs = ("rouge","vert","bleu","jaune" );
  12. print header(), start_html(-title=>'resultat'), h2("Resultats" );
  13. foreach $x (@couleurs) {
  14.     if($FORM{$x} == 1) {
  15.         print h3("Votre choix est $x\n" );
  16.     }
  17. }
  18. print end_html;


Message édité par djtoz le 09-02-2003 à 15:38:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed