PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-03-2010 21:21:28

fred01
Membre
Inscription : 02-03-2010
Messages : 6

Calcul de 2 champs

Bonjour,

Comment faire pour avoir le champ total qui se calcul automatiquement?
je voudrais dès que l'on rentre une quantité dans ce champ <input type="text" style="width:200 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_8" size="40" value="Quantite<?echo$f_8?>">que ce soit multiplié par 518 et que le résultat s'affiche directment dans ce champ :
<input type="text" style="width:200 <?if($errf_10==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_10" size="40" value="<?echo$f_10?>">

Voici le code de ma page :

Merci d'avance de votre aide.


<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n’êtes pas certain de ce que vous faites !
if(isset($_POST['submit'])){
  $erreur="";
  // Nettoyage des entrées
  while(list($var,$val)=each($_POST)){
  if(!is_array($val)){
    $$var=strip_tags($val);
  }else{
    while(list($arvar,$arval)=each($val)){
        $$var[$arvar]=strip_tags($arval);
      }
    }
  }
  // Formatage des entrées
  $f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
  $f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2)));
  $f_3=strip_tags(trim($f_3));
  $f_4=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_4)));
  $f_5=trim(eregi_replace("[^0-9+]", "", $f_5));
  $f_6=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_6)));
  $f_7=trim(eregi_replace("[^0-9\ +]", "", $f_7));
  // Verification des champs
  if(strlen($f_1)<2){
    $erreur.="<li><span class='txterror'>Le champ « Nom : » est vide ou incomplet.</span>";
    $errf_1=1;
  }
  if(strlen($f_2)<2){
    $erreur.="<li><span class='txterror'>Le champ « Prenom : » est vide ou incomplet.</span>";
    $errf_2=1;
  }
  if(strlen($f_3)<2){
    $erreur.="<li><span class='txterror'>Le champ « E-mail : » est vide ou incomplet.</span>";
    $errf_3=1;
  }else{
    if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
    '@'.
    '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
    '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
    $f_3)){
      $erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
      $errf_3=1;
    }
  }
  if(strlen($f_4)<2){
    $erreur.="<li><span class='txterror'>Le champ « Adresse : » est vide ou incomplet.</span>";
    $errf_4=1;
  }
  if(strlen($f_5)<2){
    $erreur.="<li><span class='txterror'>Le champ « Code postal : » est vide ou incomplet.</span>";
    $errf_5=1;
  }
  if(strlen($f_6)<2){
    $erreur.="<li><span class='txterror'>Le champ « Ville : » est vide ou incomplet.</span>";
    $errf_6=1;
  }
  if(strlen($f_10)<2){
    $erreur.="<li><span class='txterror'>Le champ « Total : » est vide ou incomplet.</span>";
    $errf_10=1;
  }
  if($erreur==""){
    // Création du message
    $titre="Confirmation de commande des editions gribouille";
    $tete="From:@Editions-gribouille.com\n";
    $corps.="Nom :  ".$f_1."\n";
    $corps.="Prenom :  ".$f_2."\n";
    $corps.="E-mail :  ".$f_3."\n";
    $corps.="Adresse :  ".$f_4."\n";
    $corps.="Code postal :  ".$f_5."\n";
    $corps.="Ville :  ".$f_6."\n";
    $corps.="Telephone :  ".$f_7."\n";
    $corps.="DON QUICHOTTE :  ".$f_8."\n";
    $corps.="CONTES :  ".$f_9."\n";
    $corps.="Total :  ".$f_10."\n";
    $corps.="Commentaire :  ".$f_11."\n";
    if(mail("editionsgribouille@orange.fr", $titre, stripslashes($corps), $tete) && mail ($f_3, $titre, stripslashes($corps), $tete)){
      $ok_mail="true";
      header ("Location: /merci.htm");
    }else{
      $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
    }
  }
}
?>

<html>
<head>
........................


      <?php if ($ok_mail != "true") { ?>
      <form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
        <table width='100%' border='0' cellspacing='1' cellpadding='1' height="650">
          <? if($erreur){ ?>
          <tr>
            <td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b> ERREUR,
              votre commande n'a pas été transmise.</b></font></span></td>
          </tr>
          <tr>
            <td colspan='2'>
              <ul>
                <?echo$erreur?>
              </ul>
            </td>
          </tr>
          <?}?>
          <tr>
            <td colspan='2'>
              <div align="right"><span class='txterror'><font face="Georgia, Times New Roman, Times, serif">Les
                champs marqués d'un * sont obligatoires</font></span></div>
            </td>
          </tr>
          <tr>
            <td align='right' width='52%'><span class='txtform'><font face="Georgia, Times New Roman, Times, serif">Nom
              :</font></span></td>
            <td width="48%">
              <div align="left">
                <input type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'>
                *</div>
            </td>
          </tr>
          <tr>
            <td align='right' width='52%'><span class='txtform'><font face="Georgia, Times New Roman, Times, serif">Prénom
              :</font></span></td>
            <td width="48%">
              <input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'>
              *</td>
          </tr>
          <tr>
            <td align='right' width='52%'><span class='txtform'><font face="Georgia, Times New Roman, Times, serif">E-mail
              :</font></span></td>
            <td width="48%">
              <input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0'>
              *</td>
          </tr>
          <tr>
            <td align='right' width='52%'><span class='txtform'><font face="Georgia, Times New Roman, Times, serif">Adresse
              :</font></span></td>
            <td width="48%">
              <input type='text' style='width:200 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?echo stripslashes($f_4);?>' size='24' border='0'>
              *</td>
          </tr>
          <tr>
            <td align='right' width='52%'><span class='txtform'><font face="Georgia, Times New Roman, Times, serif">Code
              postal :</font></span></td>
            <td width="48%">
              <input type='text' style='width:200 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>' size='24' border='0'>
              *</td>
          </tr>
          <tr>
            <td align='right' width='52%'><span class='txtform'><font face="Georgia, Times New Roman, Times, serif">Ville
              :</font></span></td>
            <td width="48%">
              <input type='text' style='width:200 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' value='<?echo stripslashes($f_6);?>' size='24' border='0'>
              *</td>
          </tr>
          <tr>
            <td align='right' width='52%'><span class='txtform'><font face="Georgia, Times New Roman, Times, serif">Telephone
              :</font></span></td>
            <td width="48%">
              <input type='text' style='width:200 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' value='<?echo stripslashes($f_7);?>' size='24' border='0'>
            </td>
          </tr>
          <tr>
            <td align='right' width='52%' height="35"> </td>
            <td height="35" width="48%"> </td>
          </tr>
          <tr>
            <td align='right' width='52%' height="35"><font face="Georgia, Times New Roman, Times, serif" size="2">DON
              QUICHOTTE – Version skivertex, <i>Réf. DQS250</i></font></td>
            <td height="35" width="48%">
              <input type="text" style="width:200 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_8" size="40" value="Quantite<?echo$f_8?>">
              x <font face="Georgia, Times New Roman, Times, serif" size="2"><b><font size="3">518
              €</font></b></font> </td>
          </tr>
          <tr>
            <td align='right' width='52%'><font face="Georgia, Times New Roman, Times, serif" size="2">CONTES
              DES CIMES ET DES PLAINES, <i>Réf. CCPL</i></font></td>
            <td width="48%">
              <input type="text" style="width:200 <?if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_9" size="40" value="Quantite<?echo$f_9?>">
              x <font face="Georgia, Times New Roman, Times, serif" size="2"><b><font size="3">21
              €</font></b></font> </td>
          </tr>
          <tr>
            <td align='right' width='52%' height="20"><span class='txtform'><b>TOTAL
              :</b></span></td>
            <td height="20" width="48%">
              <input type="text" style="width:200 <?if($errf_10==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;" name="f_10" size="40" value="<?echo$f_10?>">
              <b>€</b> * </td>
          </tr>
          <tr>
            <td align='right' width='52%'><span class='txtform'>Commentaire :
              </span></td>
            <td width="48%">
              <textarea style='width:250 <?if($errf_11==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_11' rows='6' cols='40'><?echo$f_11?></textarea>
            </td>
          </tr>
          <tr>
            <td align='right' width='52%' height="2"></td>
            <td width="48%" height="2" align="center" valign="top">
              <div align="center">
                <input type='reset' name='submit2' value='Effacer' border='0'>
                <input type='submit' name='submit' value='Commander' border='0'>
              </div>
            </td>
          </tr>
        </table>
      </form>
      <? } ?>
)

Hors ligne

#2 03-03-2010 21:44:01

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Calcul de 2 champs

quel total ???????????
ou y l'est le total ???????
a++

Hors ligne

#3 03-03-2010 21:53:39

fred01
Membre
Inscription : 02-03-2010
Messages : 6

Re : Calcul de 2 champs

Cela sera peut être plus parlant : http://www.editions-gribouille.com/commande.php

Hors ligne

#4 03-03-2010 22:39:08

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Calcul de 2 champs

en JS lors de l'evenement blur ou en php comme ca $_f10=($f9*21)+($_f8*518)

a++

Dernière modification par Pierrot (03-03-2010 22:39:52)

Hors ligne

Pied de page des forums