multiplication de 2 variables $_POST

Francois92911
Invité n'ayant pas de compte PHPfrance

01 déc. 2008, 12:13

Bonjour,
je voudrais multiplier 2 variables envoyées dans un formulaire et afficher le total dans la page qui traite le formulaire et qui affiche les données saisies par l'utilisateur :
$total = $_POST['chiffre1'] * $_POST['chiffre2'];
echo "$total";
Cette syntaxe ne marche pas.
J'ai essayé aussi :
$total = intval( $_POST['chiffre1'] ) * intval( $_POST['chiffre2'] );
Mais ca ne marche pas non plus.
Les données saisies par l'utilisateur dans le formulaire sont dans des champs texte :

Code : Tout sélectionner

<form> <input type="text" name="chiffre1" value="<?=$_POST[chiffre1]?>" size="4" onchange="calcul()" /><input type="text" name="chiffre2" value="<?=$_POST[chiffre2]?>" size="4" onchange="calcul()" /> </form>
(L'appel au javascript() sert à afficher le résultat pour l'utilisateur lors de la saisie, avant que le formulaire soit traité en PHP)

Merci de votre aide.

ViPHP
ViPHP | 3607 Messages

01 déc. 2008, 14:44

Fait un print_r($_POST) avant la multiplication,
un print_r(intval($_POST['chiffre1']))... etc
et dis nous le résultat!

Invité
Invité n'ayant pas de compte PHPfrance

01 déc. 2008, 16:44

Bon, alors après de multiples tests, je suis arrivé a multiplier UNE variable avec un nombre entier mais pas 2 variables entre elles.
Et j'ai dû stocker les variables en session pour que ca marche.
Donc ca donne :
$_SESSION['chiffre1']=$_POST['chiffre1']; 
$_SESSION['total']= $_SESSION['chiffre1']*5; // par exemple...  
Et j'affiche en vérifiant que la variable postée est bien un nombre entier différent de 0 :
echo "le résultat est :"; 
if ((is_int($_SESSION['chiffre1']))&&($_SESSION['chiffre1']!="0"))echo "$_SESSION[total]";

Mais toujours impossible de multiplier 2 variables envoyées ! Le résultat affiché est toujours 0.
Bizarre, non ?