help me problems cgi

J

john.swilting

john.swilting said:
RedGrittyBrick said:
You have used google to translate your error message from French into
English. You shouldn't do this. See below.


^^^^^^
That line is printing your error message - some French equivalent of
"Not of ecran for card" which suggests that the user entered some
variation of 'Carte.' or 'carte' or ' Carte'.

I'd change that line to
   die "Pas d'écran pour '$Ecran_actuel'" unless $Etats{$Ecran_actuel};
so that you can clearly see leading spaces and other punctuation.

<rest of program snipped>

I have correct the problemes of syntax
But after the form card(map) he indicates me 0 euro of command(order)
I do not understand


help help

#!/usr/bin/perl -w

use strict;
use CGI qw:)standard escapeHTML);
use CGI::Carp qw(fatalsToBrowser);

my %Etats;

my $Ecran_actuel;

## hachage des documents et des fonctions

%Etats = (
        'Défaut' =>\&document_de_garde,
        'Chemises' =>\&chemise,
        'Chaussures' =>\&chaussures,
        'Passage à la caisse' =>\&passage_a_la_caisse,
        'Carte' =>\&carte_de_credit,
        'Commande' =>\&commande,
        'Annnulation' =>\&document_de_garde,
);

$Ecran_actuel = param(".Etat") || "Défaut";
die "Pas d'écran pour $Ecran_actuel" unless $Etats{$Ecran_actuel};

## engendre le document courant

en_tete_standard();

while ( my ($nom_ecran,$fonction) = each %Etats){
        $fonction->($nom_ecran eq $Ecran_actuel);
}

pied_de_page_standard();
exit;

########################################################################
## fonctions d'en-tete, de pied de page, de menu #######################
########################################################################

sub en_tete_standard {
    print header(),
      start_html(-Title => "Chemises", -BGCOLOR=>"White");
    print start_form(); ##start_multipart_form()
                        ##s'il faut exporter des fichiers sur le reseau
    }

sub pied_de_page_standard { print end_form(), end_html() }

sub menu_boutique {
    print p(defaults("Vider mon caddie"),
            vers_doc("Chemises"),
            vers_doc("Chaussures"),
            vers_doc("Passage à la caisse"));
    }

#######################################################################
## sous-programmes pour chaque écran ##################################
#######################################################################


## le document par defaut

sub document_de_garde {
    my $actif = shift;
    return unless $actif;
   
    print "<H1>salut!</H1>\n";
    print "bienvenue dans notre magasin d'habillement\&nbsp;!\n",
    print "faites votre choix dans le menu ci-dessous.\n";

    menu_boutique();
}

## document à partir duquel commander une chemise

sub chemise {
    my $actif = shift;
    my @tailles = qw(XL L M S);
    my @couleurs = qw(Noire Blanche);
   
    my ($taille, $couleur, $compte) =
      (param("taille_chemise"), param("couleur_chemise"),
       param("nom_chemises"));
   
   ##verification des donnees reçus
    if ($compte) {
        $couleur = $couleurs[0]
          unless grep { $_ eq $couleur } @couleurs;
        $taille = $tailles[0]
          unless grep {$_ eq $taille } @tailles;
        param("couleur_chemise" , $couleur);
        param("taille_chemise" , $taille);
        }
   
    unless ( $actif ) {
        print hidden("taille_chemise") if $taille;
        print hidden("couleur_chemise") if $couleur;
        print hidden("nombre_chemises") if $compte;
        return;
        }
   
    print h1("chemises");
    print p("quelle chemise! cette petite merveille est\n","livree avec
toutes les options.doublure de luxe,\n",
            "finitions avec toutes les options. doublure de
            luxe\n","finitions en
coton, et un col à en avoir les\n",
            "Prix unitaire: 33.00 euros.");

    print h2("options");
    print p("nombre ?",textfield("nombre_chemises"));
    print p("taille ?",popup_menu("taille_chemise",\@tailles ),
            "couleur ?", popup_menu("couleur_chemise",\@couleurs ));
   
    menu_boutique();
   
    }


## document à partir duquel commander des chaussures

sub chaussures {
    my $actif = shift;
    my @tailles = qw(35 36 37 38 39 40 41 42 43 44 45 46 47 48);
    my @couleurs = qw(Ivoire Noisette Ebene);
   
    my ( $taille, $couleur, $compte) =
      (param("taille_chaussure"), param("couleur_chaussures"),
       param("nombre_chaussures"));
   
    ##verification des donnees reçus
    if ( $compte ) {
        $couleur = $couleurs[0]
          unless grep { $_ eq $couleur } @couleurs;
        $taille = $tailles[0]
          unless grep { $_ eq $taille } @tailles;
        param("couleur_chaussures",$couleur);
        param("taille_chaussures", $taille);
        }
   
   
unless ( $actif ) {
    print hidden("taille_chaussures") if $taille;
    print hidden("couleur_chaussures") if $couleur;
    print hidden("nombre_chaussures") if $compte;
    return;
    }
   
    print h1("chaussures");
    print p("vous ne serez jamais aussi elegant que chausse de
ces\n", "souliers magnifiques\n",
            "prix unitaires: 49.99 euros.");
   
    print h2("options");
    print p("nombre de paires?", textfield("nombre_chaussures"));
    print p("pointure?", popup_menu("taille_chaussures",\@tailles));
    print p("teinte?",popup_menu("couleur_chaussures",\@couleurs));
   
    menu_boutique();
   
    }

## document qui affiche la commande actuelle en attente de comfirmation

sub passage_a_la_caisse {
    my $actif = shift;
   
    return unless $actif;
   
    print h1("confirmation de la commande");
    print p("vous avez commande:");
    print texte_commande();
    print p("est-ce correct?\nn",
            "choissisez «Carte» pour regler ces\n",
            "objets, ou «chemises» ou\n",
            "«chaussures» pour continuer vos courses.");
    print p(vers_doc("Carte"),
            vers_doc("Chemises"),
            vers_doc("Chaussures"));
   
    }

## document pour ollecter les informations relatives à la carte de credit

sub carte_de_credit {
    my $actif = shift;
    my @gadgets = qw(Nom Adresse1 Adresse2 Ville Code_postal Pats
    Telephone
Carte Expire_en);
   
    unless ( $actif ) {
        print map { hidden($_) } @gadgets;
        return;
        }
   
    print pre ( p ("Nom\&nbsp;:              ",textfield("Nom")),
                p ("Adresse\&nbsp;:          ",textfield("Adresse1")),
                p ("                         ",textfield("Adresse2")),
                p ("Ville\&nbsp;:            ",textfield("Ville")),
                p ("Code Postal\&nbsp;:      ",textfield("Code_postal")),
                p ("Pays\&nbsp;:             ",textfield("Pays")),
                p ("Telephone\&nbsp;:        ",textfield("Teléphone")),
                p ("Carte numéro\&nbsp;:     ",textfield("Carte")),
                p ("Expire en\&nbsp;:        ",textfield("Expire_en")));
   
    print p ( "Selectionner «Commande» pour commander\n",
              "ces objets. selectionner «Annulation»\n");
   
    print p ( vers_doc("Commande"), vers_doc("Annulation"));
    }

## document pour terminer une commande

sub commande {
    my $actif = shift;
   
    unless ( $actif) {
        return;
        }
   
    ## ici on verifie les valeurs donnees pour la carte de credit
   
    print h1("Commandé\&nbsp;!");
    print p("vous avez commandé ce qui suit:");
    print texte_commande();
   
    print p (defaults ("Retour au debut"));
    }

## renvoie de l ' HTML pour la commande actuelle("vous avez ommande")

sub texte_commande {
    my $html = '';
   
    if ( param ("nombre_chemises")) {
        $html .= p("vous avez commandé" , param("nombre_chemises"),
                   "chemises de taille", param("taille_chemise"),
                   " et de couleur " , param("couleur_chemise"),",");
        }
    if ( param ("nombre_chaussures")) {
        $html .= p("vous avez comandé",param("nombre_chaussures"),
                   "paires de chaussures de pointures" ,
param("taille_chaussures"),
                   " et de teinte ", param ("couleur_chaussures"),".");
        }
    $html = p("Rien!") unless $html;
    $html .= p("pour un prix total de ",calcule_prix());
    return $html;
    }

sub calcule_prix {
    my $chemises = param("nombre_chemises") || 0 ;
    my $chaussures = param("nombre_chaussures") || 0;
    return sprintf("%.2f\&nbsp;euros", $chemises * 33 + $chaussures *
49.99);
    }

sub vers_doc { submit (-NAME => ".Etat", -VALUE => shift) }


A friend ask me to do him a website of paintings.
I try to make this program work and will modify it for paintings.
 
J

john.swilting

john.swilting said:
john.swilting said:
RedGrittyBrick said:
john.swilting wrote:
I started again the  example of cook book perl
chapter 19.14
He(It) does not walk(work) correctly can you m help to find the error
The error which appears it is Not of ecran for card

You have used google to translate your error message from French into
English. You shouldn't do this. See below.

at /var/www/cgi-bin/vente.cgi line 24

help help help
i am french
i am beginner of perl
help help help

#!/usr/bin/perl -w

use strict;
use CGI qw:)standard escapeHTML);
use CGI::Carp qw(fatalsToBrowser);

my %Etats;

my $Ecran_actuel;

## hachage des documents et des fonctions

%Etats = (
'Défaut' =>\&document_de_garde,
'Chemises' =>\&chemise,
'Chaussures' =>\&chaussures,
'Passage à la caisse' =>\&passage_a_la_caisse,
'Carte' =>\&carte_de_credit,
'Commande' =>\&commande,
'Annnulation' =>\&document_de_garde,
);

$Ecran_actuel = param(".Etat") || "Défaut";
die "Pas d'écran pour $Ecran_actuel" unless $Etats{$Ecran_actuel};

^^^^^^
That line is printing your error message - some French equivalent of
"Not of ecran for card" which suggests that the user entered some
variation of 'Carte.' or 'carte' or ' Carte'.

I'd change that line to
die "Pas d'écran pour '$Ecran_actuel'" unless $Etats{$Ecran_actuel};
so that you can clearly see leading spaces and other punctuation.

<rest of program snipped>

I have correct the problemes of syntax
But after the form card(map) he indicates me 0 euro of command(order)
I do not understand


help help

#!/usr/bin/perl -w

use strict;
use CGI qw:)standard escapeHTML);
use CGI::Carp qw(fatalsToBrowser);

my %Etats;

my $Ecran_actuel;

## hachage des documents et des fonctions

%Etats = (
'Défaut' =>\&document_de_garde,
'Chemises' =>\&chemise,
'Chaussures' =>\&chaussures,
'Passage à la caisse' =>\&passage_a_la_caisse,
'Carte' =>\&carte_de_credit,
'Commande' =>\&commande,
'Annnulation' =>\&document_de_garde,
);

$Ecran_actuel = param(".Etat") || "Défaut";
die "Pas d'écran pour $Ecran_actuel" unless $Etats{$Ecran_actuel};

## engendre le document courant

en_tete_standard();

while ( my ($nom_ecran,$fonction) = each %Etats){
$fonction->($nom_ecran eq $Ecran_actuel);
}

pied_de_page_standard();
exit;

########################################################################
## fonctions d'en-tete, de pied de page, de menu #######################
########################################################################

sub en_tete_standard {
print header(),
start_html(-Title => "Chemises", -BGCOLOR=>"White");
print start_form(); ##start_multipart_form()
##s'il faut exporter des fichiers sur le reseau
}

sub pied_de_page_standard { print end_form(), end_html() }

sub menu_boutique {
print p(defaults("Vider mon caddie"),
vers_doc("Chemises"),
vers_doc("Chaussures"),
vers_doc("Passage à la caisse"));
}

#######################################################################
## sous-programmes pour chaque écran ##################################
#######################################################################


## le document par defaut

sub document_de_garde {
my $actif = shift;
return unless $actif;

print "<H1>salut!</H1>\n";
print "bienvenue dans notre magasin d'habillement\&nbsp;!\n",
print "faites votre choix dans le menu ci-dessous.\n";

menu_boutique();
}

## document à partir duquel commander une chemise

sub chemise {
my $actif = shift;
my @tailles = qw(XL L M S);
my @couleurs = qw(Noire Blanche);

my ($taille, $couleur, $compte) =
(param("taille_chemise"), param("couleur_chemise"),
param("nom_chemises"));

##verification des donnees reçus
if ($compte) {
$couleur = $couleurs[0]
unless grep { $_ eq $couleur } @couleurs;
$taille = $tailles[0]
unless grep {$_ eq $taille } @tailles;
param("couleur_chemise" , $couleur);
param("taille_chemise" , $taille);
}

unless ( $actif ) {
print hidden("taille_chemise") if $taille;
print hidden("couleur_chemise") if $couleur;
print hidden("nombre_chemises") if $compte;
return;
}

print h1("chemises");
print p("quelle chemise! cette petite merveille est\n","livree avec
toutes les options.doublure de luxe,\n",
"finitions avec toutes les options. doublure de
luxe\n","finitions en
coton, et un col à en avoir les\n",
"Prix unitaire: 33.00 euros.");

print h2("options");
print p("nombre ?",textfield("nombre_chemises"));
print p("taille ?",popup_menu("taille_chemise",\@tailles ),
"couleur ?", popup_menu("couleur_chemise",\@couleurs ));

menu_boutique();

}


## document à partir duquel commander des chaussures

sub chaussures {
my $actif = shift;
my @tailles = qw(35 36 37 38 39 40 41 42 43 44 45 46 47 48);
my @couleurs = qw(Ivoire Noisette Ebene);

my ( $taille, $couleur, $compte) =
(param("taille_chaussure"), param("couleur_chaussures"),
param("nombre_chaussures"));

##verification des donnees reçus
if ( $compte ) {
$couleur = $couleurs[0]
unless grep { $_ eq $couleur } @couleurs;
$taille = $tailles[0]
unless grep { $_ eq $taille } @tailles;
param("couleur_chaussures",$couleur);
param("taille_chaussures", $taille);
}


unless ( $actif ) {
print hidden("taille_chaussures") if $taille;
print hidden("couleur_chaussures") if $couleur;
print hidden("nombre_chaussures") if $compte;
return;
}

print h1("chaussures");
print p("vous ne serez jamais aussi elegant que chausse de
ces\n", "souliers magnifiques\n",
"prix unitaires: 49.99 euros.");

print h2("options");
print p("nombre de paires?", textfield("nombre_chaussures"));
print p("pointure?", popup_menu("taille_chaussures",\@tailles));
print p("teinte?",popup_menu("couleur_chaussures",\@couleurs));

menu_boutique();

}

## document qui affiche la commande actuelle en attente de comfirmation

sub passage_a_la_caisse {
my $actif = shift;

return unless $actif;

print h1("confirmation de la commande");
print p("vous avez commande:");
print texte_commande();
print p("est-ce correct?\nn",
"choissisez «Carte» pour regler ces\n",
"objets, ou «chemises» ou\n",
"«chaussures» pour continuer vos courses.");
print p(vers_doc("Carte"),
vers_doc("Chemises"),
vers_doc("Chaussures"));

}

## document pour ollecter les informations relatives à la carte de credit

sub carte_de_credit {
my $actif = shift;
my @gadgets = qw(Nom Adresse1 Adresse2 Ville Code_postal Pats
Telephone
Carte Expire_en);

unless ( $actif ) {
print map { hidden($_) } @gadgets;
return;
}

print pre ( p ("Nom\&nbsp;:              ",textfield("Nom")),
p ("Adresse\&nbsp;:          ",textfield("Adresse1")),
p ("                         ",textfield("Adresse2")),
p ("Ville\&nbsp;:            ",textfield("Ville")),
p ("Code Postal\&nbsp;:      ",textfield("Code_postal")),
p ("Pays\&nbsp;:             ",textfield("Pays")),
p ("Telephone\&nbsp;:        ",textfield("Teléphone")),
p ("Carte numéro\&nbsp;:     ",textfield("Carte")),
p ("Expire en\&nbsp;:        ",textfield("Expire_en")));

print p ( "Selectionner «Commande» pour commander\n",
"ces objets. selectionner «Annulation»\n");

print p ( vers_doc("Commande"), vers_doc("Annulation"));
}

## document pour terminer une commande

sub commande {
my $actif = shift;

unless ( $actif) {
return;
}

## ici on verifie les valeurs donnees pour la carte de credit

print h1("Commandé\&nbsp;!");
print p("vous avez commandé ce qui suit:");
print texte_commande();

print p (defaults ("Retour au debut"));
}

## renvoie de l ' HTML pour la commande actuelle("vous avez ommande")

sub texte_commande {
my $html = '';

if ( param ("nombre_chemises")) {
$html .= p("vous avez commandé" , param("nombre_chemises"),
"chemises de taille", param("taille_chemise"),
" et de couleur " , param("couleur_chemise"),",");
}
if ( param ("nombre_chaussures")) {
$html .= p("vous avez comandé",param("nombre_chaussures"),
"paires de chaussures de pointures" ,
param("taille_chaussures"),
" et de teinte ", param ("couleur_chaussures"),".");
}
$html = p("Rien!") unless $html;
$html .= p("pour un prix total de ",calcule_prix());
return $html;
}

sub calcule_prix {
my $chemises = param("nombre_chemises") || 0 ;
my $chaussures = param("nombre_chaussures") || 0;
return sprintf("%.2f\&nbsp;euros", $chemises * 33 + $chaussures *
49.99);
}

sub vers_doc { submit (-NAME => ".Etat", -VALUE => shift) }


A friend ask me to do him a website of paintings.
I try to make this program work and will modify it for paintings.

That walks(works) for shoes not for shirts
 
J

john.swilting

john.swilting said:
john.swilting said:
RedGrittyBrick said:
john.swilting wrote:
I started again the  example of cook book perl
chapter 19.14
He(It) does not walk(work) correctly can you m help to find the error
The error which appears it is Not of ecran for card

You have used google to translate your error message from French into
English. You shouldn't do this. See below.

at /var/www/cgi-bin/vente.cgi line 24

help help help
i am french
i am beginner of perl
help help help

#!/usr/bin/perl -w

use strict;
use CGI qw:)standard escapeHTML);
use CGI::Carp qw(fatalsToBrowser);

my %Etats;

my $Ecran_actuel;

## hachage des documents et des fonctions

%Etats = (
'Défaut' =>\&document_de_garde,
'Chemises' =>\&chemise,
'Chaussures' =>\&chaussures,
'Passage à la caisse' =>\&passage_a_la_caisse,
'Carte' =>\&carte_de_credit,
'Commande' =>\&commande,
'Annnulation' =>\&document_de_garde,
);

$Ecran_actuel = param(".Etat") || "Défaut";
die "Pas d'écran pour $Ecran_actuel" unless $Etats{$Ecran_actuel};

^^^^^^
That line is printing your error message - some French equivalent of
"Not of ecran for card" which suggests that the user entered some
variation of 'Carte.' or 'carte' or ' Carte'.

I'd change that line to
die "Pas d'écran pour '$Ecran_actuel'" unless $Etats{$Ecran_actuel};
so that you can clearly see leading spaces and other punctuation.

<rest of program snipped>

I have correct the problemes of syntax
But after the form card(map) he indicates me 0 euro of command(order)
I do not understand


help help

#!/usr/bin/perl -w

use strict;
use CGI qw:)standard escapeHTML);
use CGI::Carp qw(fatalsToBrowser);

my %Etats;

my $Ecran_actuel;

## hachage des documents et des fonctions

%Etats = (
'Défaut' =>\&document_de_garde,
'Chemises' =>\&chemise,
'Chaussures' =>\&chaussures,
'Passage à la caisse' =>\&passage_a_la_caisse,
'Carte' =>\&carte_de_credit,
'Commande' =>\&commande,
'Annnulation' =>\&document_de_garde,
);

$Ecran_actuel = param(".Etat") || "Défaut";
die "Pas d'écran pour $Ecran_actuel" unless $Etats{$Ecran_actuel};

## engendre le document courant

en_tete_standard();

while ( my ($nom_ecran,$fonction) = each %Etats){
$fonction->($nom_ecran eq $Ecran_actuel);
}

pied_de_page_standard();
exit;

########################################################################
## fonctions d'en-tete, de pied de page, de menu #######################
########################################################################

sub en_tete_standard {
print header(),
start_html(-Title => "Chemises", -BGCOLOR=>"White");
print start_form(); ##start_multipart_form()
##s'il faut exporter des fichiers sur le reseau
}

sub pied_de_page_standard { print end_form(), end_html() }

sub menu_boutique {
print p(defaults("Vider mon caddie"),
vers_doc("Chemises"),
vers_doc("Chaussures"),
vers_doc("Passage à la caisse"));
}

#######################################################################
## sous-programmes pour chaque écran ##################################
#######################################################################


## le document par defaut

sub document_de_garde {
my $actif = shift;
return unless $actif;

print "<H1>salut!</H1>\n";
print "bienvenue dans notre magasin d'habillement\&nbsp;!\n",
print "faites votre choix dans le menu ci-dessous.\n";

menu_boutique();
}

## document à partir duquel commander une chemise

sub chemise {
my $actif = shift;
my @tailles = qw(XL L M S);
my @couleurs = qw(Noire Blanche);

my ($taille, $couleur, $compte) =
(param("taille_chemise"), param("couleur_chemise"),
param("nom_chemises"));

##verification des donnees reçus
if ($compte) {
$couleur = $couleurs[0]
unless grep { $_ eq $couleur } @couleurs;
$taille = $tailles[0]
unless grep {$_ eq $taille } @tailles;
param("couleur_chemise" , $couleur);
param("taille_chemise" , $taille);
}

unless ( $actif ) {
print hidden("taille_chemise") if $taille;
print hidden("couleur_chemise") if $couleur;
print hidden("nombre_chemises") if $compte;
return;
}

print h1("chemises");
print p("quelle chemise! cette petite merveille est\n","livree avec
toutes les options.doublure de luxe,\n",
"finitions avec toutes les options. doublure de
luxe\n","finitions en
coton, et un col à en avoir les\n",
"Prix unitaire: 33.00 euros.");

print h2("options");
print p("nombre ?",textfield("nombre_chemises"));
print p("taille ?",popup_menu("taille_chemise",\@tailles ),
"couleur ?", popup_menu("couleur_chemise",\@couleurs ));

menu_boutique();

}


## document à partir duquel commander des chaussures

sub chaussures {
my $actif = shift;
my @tailles = qw(35 36 37 38 39 40 41 42 43 44 45 46 47 48);
my @couleurs = qw(Ivoire Noisette Ebene);

my ( $taille, $couleur, $compte) =
(param("taille_chaussure"), param("couleur_chaussures"),
param("nombre_chaussures"));

##verification des donnees reçus
if ( $compte ) {
$couleur = $couleurs[0]
unless grep { $_ eq $couleur } @couleurs;
$taille = $tailles[0]
unless grep { $_ eq $taille } @tailles;
param("couleur_chaussures",$couleur);
param("taille_chaussures", $taille);
}


unless ( $actif ) {
print hidden("taille_chaussures") if $taille;
print hidden("couleur_chaussures") if $couleur;
print hidden("nombre_chaussures") if $compte;
return;
}

print h1("chaussures");
print p("vous ne serez jamais aussi elegant que chausse de
ces\n", "souliers magnifiques\n",
"prix unitaires: 49.99 euros.");

print h2("options");
print p("nombre de paires?", textfield("nombre_chaussures"));
print p("pointure?", popup_menu("taille_chaussures",\@tailles));
print p("teinte?",popup_menu("couleur_chaussures",\@couleurs));

menu_boutique();

}

## document qui affiche la commande actuelle en attente de comfirmation

sub passage_a_la_caisse {
my $actif = shift;

return unless $actif;

print h1("confirmation de la commande");
print p("vous avez commande:");
print texte_commande();
print p("est-ce correct?\nn",
"choissisez «Carte» pour regler ces\n",
"objets, ou «chemises» ou\n",
"«chaussures» pour continuer vos courses.");
print p(vers_doc("Carte"),
vers_doc("Chemises"),
vers_doc("Chaussures"));

}

## document pour ollecter les informations relatives à la carte de credit

sub carte_de_credit {
my $actif = shift;
my @gadgets = qw(Nom Adresse1 Adresse2 Ville Code_postal Pats
Telephone
Carte Expire_en);

unless ( $actif ) {
print map { hidden($_) } @gadgets;
return;
}

print pre ( p ("Nom\&nbsp;:              ",textfield("Nom")),
p ("Adresse\&nbsp;:          ",textfield("Adresse1")),
p ("                         ",textfield("Adresse2")),
p ("Ville\&nbsp;:            ",textfield("Ville")),
p ("Code Postal\&nbsp;:      ",textfield("Code_postal")),
p ("Pays\&nbsp;:             ",textfield("Pays")),
p ("Telephone\&nbsp;:        ",textfield("Teléphone")),
p ("Carte numéro\&nbsp;:     ",textfield("Carte")),
p ("Expire en\&nbsp;:        ",textfield("Expire_en")));

print p ( "Selectionner «Commande» pour commander\n",
"ces objets. selectionner «Annulation»\n");

print p ( vers_doc("Commande"), vers_doc("Annulation"));
}

## document pour terminer une commande

sub commande {
my $actif = shift;

unless ( $actif) {
return;
}

## ici on verifie les valeurs donnees pour la carte de credit

print h1("Commandé\&nbsp;!");
print p("vous avez commandé ce qui suit:");
print texte_commande();

print p (defaults ("Retour au debut"));
}

## renvoie de l ' HTML pour la commande actuelle("vous avez ommande")

sub texte_commande {
my $html = '';

if ( param ("nombre_chemises")) {
$html .= p("vous avez commandé" , param("nombre_chemises"),
"chemises de taille", param("taille_chemise"),
" et de couleur " , param("couleur_chemise"),",");
}
if ( param ("nombre_chaussures")) {
$html .= p("vous avez comandé",param("nombre_chaussures"),
"paires de chaussures de pointures" ,
param("taille_chaussures"),
" et de teinte ", param ("couleur_chaussures"),".");
}
$html = p("Rien!") unless $html;
$html .= p("pour un prix total de ",calcule_prix());
return $html;
}

sub calcule_prix {
my $chemises = param("nombre_chemises") || 0 ;
my $chaussures = param("nombre_chaussures") || 0;
return sprintf("%.2f\&nbsp;euros", $chemises * 33 + $chaussures *
49.99);
}

sub vers_doc { submit (-NAME => ".Etat", -VALUE => shift) }


A friend ask me to do him a website of paintings.
I try to make this program work and will modify it for paintings.

its ok

problems syntax
perl is permissive

sorry for flood
my name is serge
i am french
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top