| Home | Forums | Reviews | Guides | Newsgroups | Register | Search |
![]() |
| Thread Tools |
| john.swilting |
|
|
|
| |
|
john.swilting
Guest
Posts: n/a
|
john.swilting wrote:
> john.swilting wrote: > >> RedGrittyBrick wrote: >> >>> 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\ !\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 4 >> 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",\@coul eurs)); >> >> 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\ : Â* Â* Â* Â* Â* Â* Â*",textfield("Nom")), >> p ("Adresse\ : Â* Â* Â* Â* Â*",textfield("Adresse1")), >> p (" Â* Â* Â* Â* Â* Â* Â* Â* Â* Â* Â* Â* ",textfield("Adresse2")), >> p ("Ville\ : Â* Â* Â* Â* Â* Â*",textfield("Ville")), >> p ("Code Postal\ : Â* Â* Â*",textfield("Code_postal")), >> p ("Pays\ : Â* Â* Â* Â* Â* Â* ",textfield("Pays")), >> p ("Telephone\ : Â* Â* Â* Â*",textfield("Teléphone")), >> p ("Carte numéro\ : Â* Â* ",textfield("Carte")), >> p ("Expire en\ : Â* Â* Â* Â*",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é\ !"); >> 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\ 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 |
|
|
|
|
|||
|
|||
| john.swilting |
|
|
|
| |
|
john.swilting
Guest
Posts: n/a
|
john.swilting wrote:
> john.swilting wrote: > >> RedGrittyBrick wrote: >> >>> 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\ !\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 4 >> 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",\@coul eurs)); >> >> 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\ : Â* Â* Â* Â* Â* Â* Â*",textfield("Nom")), >> p ("Adresse\ : Â* Â* Â* Â* Â*",textfield("Adresse1")), >> p (" Â* Â* Â* Â* Â* Â* Â* Â* Â* Â* Â* Â* ",textfield("Adresse2")), >> p ("Ville\ : Â* Â* Â* Â* Â* Â*",textfield("Ville")), >> p ("Code Postal\ : Â* Â* Â*",textfield("Code_postal")), >> p ("Pays\ : Â* Â* Â* Â* Â* Â* ",textfield("Pays")), >> p ("Telephone\ : Â* Â* Â* Â*",textfield("Teléphone")), >> p ("Carte numéro\ : Â* Â* ",textfield("Carte")), >> p ("Expire en\ : Â* Â* Â* Â*",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é\ !"); >> 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\ 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 |
|
|
|
|
|||
|
|||
| john.swilting |
|
|
|
| |
![]() |
| Thread Tools | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| (CGI-Target)Could not connect to CGI-Proxy | John Smith | Java | 0 | 05-15-2006 09:21 PM |
| I need some help with browser output in ruby cgi - cgi.rb | Professor Chen | Ruby | 0 | 02-06-2006 07:08 AM |
| Python CGI - Accepting Input, Invoking Another Process, Ending CGI | LarsenMTL | Python | 4 | 11-04-2004 05:59 PM |
| Calling cgi from cgi thru 'system' function. Different behaviour on browser v/s cmd line | Shailan | Perl | 2 | 12-15-2003 04:26 PM |
| Re: CGI Perl "use CGI" statement fail | Jürgen Exner | Perl | 0 | 07-31-2003 02:00 PM |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc..
SEO by vBSEO ©2010, Crawlability, Inc. |




