Bonjour,

Je suis plus que débutant avec la fonction CGI, mais J'ai ici un code d'exemple qui ne fonctionne pas.

Le but est que lors du clic commande il me mail la commande.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
 
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 3</title>
 
  <TITLE>Exemple : Formulaire + JavaScript</TITLE>
 
  <!-- J.-D. Bonjour / SI-DGR / 26.6.99  -->
 
  <SCRIPT LANGUAGE="JavaScript">
  <!--
 
    function test_champ(champ) {
      expr_reg = /^\d*$/ ;
      // Ci-dessus : expression régulière qui match 0,1 ou plusieurs chiffres ;
      // de cette façon on vérifie que l'utilisateur entre bien un nombre entier
      if ( expr_reg.test(champ.value) ) {
        // c'est bien un nombre entier
        calcul_form() ;
      } else {
        // ce n'est pas un nombre entier
        alert ("Ce n'est par un nombre entier !") ;
        document.form1.elements[champ.name].value = "" ;   // on efface la valeur entrée erronée
        calcul_form() ;
      }
    }
 
    function calcul_form() {
      // le with ci-dessous permet d'abréger "document.forms.form1.p1.value" en "p1.value"
      with (document.forms.form1) {
        p1.value = q1.value * pu1.value ;
        p2.value = q2.value * pu2.value ;
        p3.value = q3.value * pu3.value ;
        total.value = p1.value *1 + p2.value *1 + p3.value *1 ;
           // Ai mis les *1 ci-dessus afin que les + fassent une somme arithmétique
           // et non pas une concaténation de chaînes de caractères
      }
    }
 
    function champ_verrouille(champ,valeur) {
           // Remarque : en HTML 4.0, il existe un attribut "read-only" pour la
           //            balise <INPUT TYPE=text> qui interdira de modifier un champ
           //            mais ce que je fais ci-dessous est beaucoup plus sûr !!!
      // alert ("Ce champ de peut pas être modifié !") ;
      document.form1.elements[champ.name].value = valeur ;   // on remet "valeur" initiale dans champ
    }
 
    function soumettre_form() {
      if ( document.forms.form1.total.value == 0 ) {
        alert ("Vous n'avez rien commandé !\n => commande non soumise") ;
        return false ;
      } else {
        // Les 2 lignes ci-dessous devraient être activées pour réellement passer le form. à script CGI
 		document.form1.method = "POST" ;
        document.form1.action = "http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=commande@MONMAIL.COM" ;
        document.write ("<H3 ALIGN=center>Commande passée\n pour un montant de " +
                         document.forms.form1.total.value + " Frs</H3>") ;
        document.close () ;
        return true ;
      }
    }
 
  // -->
  </SCRIPT>
</head>
 
<body>
 
<FORM NAME="form1">
<CENTER>
 
<TABLE BORDER="1" CELLSPACING="0" BGCOLOR="#FFFFAA">
Mon problème semble venir de

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
 
 		document.form1.method = "POST" ;
        document.form1.action = "http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=commande@MONMAIL.COM" ;
Il n'effectue pas

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=commande@MONMAIL.COM
Si j'exécute en direct ce http dans adresse explorer alors il m'envoie bien un mail mais pas le contenu du formulaire.

Quelqu'un voit il le problème?

En vous remerciant

Pierre