Comment récupérer une valeur HTML dans du PHP
Bonjour,
Je suis veux mettre en place un système de calcul selon une grille tarifaire. Prenom le cas d'un transfert d'argent, pour tout transfert <= 5000 F le cout est de 200F ce qui fait une total de 5200F.
J'ai déjà rédigé le script qui marche bien, lorsque je saisie une valeur, celle-ci est correctement calculé. Le problème maintenant est le fait que les valeurs (montant du transfert) doivent être saisie dans un formulaire et j'arrive pas à transférer les données du formulaire dans mon script.
Voici mon code source:
<center><form action="nguere.php" method="post">
<input type="text" name="max" value="0"/>F CFA
<input name="button" type="submit" id="button" value="CALCULER" /> </form>
<br>
<strong>Le Montant TOTAL A PAYER est de: </strong><br><h2>
<?php $montant= 500; ?> //Le montant à Calculer
<?php
if($montant <= 5000){
echo $montant + 200;
}
else
if($montant <= 10000){
echo $montant + 400;
}
else
if($montant <= 15000){
echo $montant + 600;
}
else
if($montant <= 25000){
echo $montant + 900;
}
else
if($montant <= 35000){
echo $montant + 1100;
}
else
if($montant <= 50000){
echo $montant + 1200;
}
else
if($montant <= 75000){
echo $montant + 1700;
}
else
if($montant <= 100000){
echo $montant + 2000;
}
else
if($montant <= 150000){
echo $montant + 2200;
}
else
if($montant <= 200000){
echo $montant + 2400;
}
else
if($montant <= 250000){
echo $montant + 2900;
}
else
if($montant <= 300000){
echo $montant + 3900;
}
else
if($montant <= 400000){
echo $montant + 4900;
}
else
if($montant <= 200000){
echo $montant + 2400;
}
else
if($montant <= 750000){
echo $montant + 7400;
}
else
if($montant <= 1000000){
echo $montant + 9900;
}
else
if($montant <= 2000000){
echo $montant + 14900;
}
else
if($montant <= 3000000){
echo $montant + 19900;
}
else?>
F </h2>
</center>
Merci à l'avance de votre aide,
Je suis veux mettre en place un système de calcul selon une grille tarifaire. Prenom le cas d'un transfert d'argent, pour tout transfert <= 5000 F le cout est de 200F ce qui fait une total de 5200F.
J'ai déjà rédigé le script qui marche bien, lorsque je saisie une valeur, celle-ci est correctement calculé. Le problème maintenant est le fait que les valeurs (montant du transfert) doivent être saisie dans un formulaire et j'arrive pas à transférer les données du formulaire dans mon script.
Voici mon code source:
<center><form action="nguere.php" method="post">
<input type="text" name="max" value="0"/>F CFA
<input name="button" type="submit" id="button" value="CALCULER" /> </form>
<br>
<strong>Le Montant TOTAL A PAYER est de: </strong><br><h2>
<?php $montant= 500; ?> //Le montant à Calculer
<?php
if($montant <= 5000){
echo $montant + 200;
}
else
if($montant <= 10000){
echo $montant + 400;
}
else
if($montant <= 15000){
echo $montant + 600;
}
else
if($montant <= 25000){
echo $montant + 900;
}
else
if($montant <= 35000){
echo $montant + 1100;
}
else
if($montant <= 50000){
echo $montant + 1200;
}
else
if($montant <= 75000){
echo $montant + 1700;
}
else
if($montant <= 100000){
echo $montant + 2000;
}
else
if($montant <= 150000){
echo $montant + 2200;
}
else
if($montant <= 200000){
echo $montant + 2400;
}
else
if($montant <= 250000){
echo $montant + 2900;
}
else
if($montant <= 300000){
echo $montant + 3900;
}
else
if($montant <= 400000){
echo $montant + 4900;
}
else
if($montant <= 200000){
echo $montant + 2400;
}
else
if($montant <= 750000){
echo $montant + 7400;
}
else
if($montant <= 1000000){
echo $montant + 9900;
}
else
if($montant <= 2000000){
echo $montant + 14900;
}
else
if($montant <= 3000000){
echo $montant + 19900;
}
else?>
F </h2>
</center>
Merci à l'avance de votre aide,
3 réponses
-
ModérateurBonjour
Où traites tu les variables $_POST ?
PS: jete un oeil à ceci:
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Cordialement,
Jordane -
Voici la solution à ton problème :
n'oublie pas lors de la saisie d'un formulaire de préciser tout au début de ton fichier de réception des données (dans ce cas nguere.php) :session_start();
fichier index.php :<?php session_start(); ?> <h1> CAS N°1 : Envoi des données dans le même fichier </h1> <center> <form action="" method="POST"> <input type="text" name="max" placeholder="0"/>F CFA <input name="button" type="submit" id="button" value="CALCULER" /> </form> <br> <strong>Le Montant TOTAL A PAYER est de: </strong><br> <?php if(isset($_POST['max']) && !empty($_POST['max'])) { $montant = intval($_POST['max']); if($montant <= 5000){ echo $montant + 200; }elseif($montant <= 10000){ echo $montant + 400; }elseif($montant <= 15000){ echo $montant + 600; }elseif($montant <= 25000){ echo $montant + 900; }elseif($montant <= 35000){ echo $montant + 1100; }elseif($montant <= 50000){ echo $montant + 1200; }elseif($montant <= 75000){ echo $montant + 1700; }elseif($montant <= 100000){ echo $montant + 2000; }elseif($montant <= 150000){ echo $montant + 2200; }elseif($montant <= 200000){ echo $montant + 2400; }elseif($montant <= 250000){ echo $montant + 2900; }elseif($montant <= 300000){ echo $montant + 3900; }elseif($montant <= 400000){ echo $montant + 4900; }elseif($montant <= 200000){ echo $montant + 2400; }elseif($montant <= 750000){ echo $montant + 7400; }elseif($montant <= 1000000){ echo $montant + 9900; }elseif($montant <= 2000000){ echo $montant + 14900; }elseif($montant <= 3000000){ echo $montant + 19900; } else{ echo "problème de calcule !";} } else{ echo "Veuillez saisir le champs !"; } ?> </center> <h1> CAS N°2 : Envoi des données dans le fichier nguere </h1> <center> <form action="nguere.php" method="POST"> <input type="text" name="max" placeholder="0"/>F CFA <input name="button" type="submit" id="button" value="CALCULER" /> </form> </center>
fichier nguere.php :
<?php session_start(); ?> <h1> CAS N°2 : Envoi des données dans le fichier nguere </h1> <?php if(isset($_POST['max']) && !empty($_POST['max'])) { $montant = intval($_POST['max']); if($montant <= 5000){ echo $montant + 200; }elseif($montant <= 10000){ echo $montant + 400; }elseif($montant <= 15000){ echo $montant + 600; }elseif($montant <= 25000){ echo $montant + 900; }elseif($montant <= 35000){ echo $montant + 1100; }elseif($montant <= 50000){ echo $montant + 1200; }elseif($montant <= 75000){ echo $montant + 1700; }elseif($montant <= 100000){ echo $montant + 2000; }elseif($montant <= 150000){ echo $montant + 2200; }elseif($montant <= 200000){ echo $montant + 2400; }elseif($montant <= 250000){ echo $montant + 2900; }elseif($montant <= 300000){ echo $montant + 3900; }elseif($montant <= 400000){ echo $montant + 4900; }elseif($montant <= 200000){ echo $montant + 2400; }elseif($montant <= 750000){ echo $montant + 7400; }elseif($montant <= 1000000){ echo $montant + 9900; }elseif($montant <= 2000000){ echo $montant + 14900; }elseif($montant <= 3000000){ echo $montant + 19900; } else{ echo "problème de calcule !";} } else{ echo "Veuillez saisir le champs !"; } ?>
-
ModérateurBonjour,
Quelques remarques sur le code proposé précédemeent...
- intVal te limitera à des valeurs "entières" (donc pas de nombre à virgule)
- Le code PHP placé n'importe où au milieu du html de rend pas le code (sur le long terme....) facilement maintenable. Il vaut mieux le placer AVANT le html.
- !emtpy... fait déjà un isset. pas besoin de mettre les deux !
- Lorsque l'on a beaucoup de conditions... il vaut mieux éviter des elseif en pagaille. Je préconise plutôt un switch.
Bref,
Essaye ça :?php session_start(); $max = !empty($_POST['max']) ? floatval($_POST['max']) : NULL; $montant = ""; if($max) { switch($max){ case <= 5000 $montant = $max + 200; break; case <= 10000 $montant = $max + 400; break; case <= 15000 $montant = $max + 600; break; case <= 25000 $montant = $max + 900; break; case <= 35000 $montant = $max + 1100; break; case <= 50000 $montant = $max + 1200; break; case <= 75000 $montant = $max + 1700; break; case <= 100000 $montant = $max + 2000; break; case <= 15000 $montant = $max + 2200; break; case <= 200000 $montant = $max + 2400; break; case <= 250000 $montant = $max + 2900; break; case <= 300000 $montant = $max + 3900; break; case <= 400000 $montant = $max + 4900; break; default: $msg_error = "problème de calcule !"; break; } }else{ $msg_error = "Veuillez saisir le champs !"; } ?> ?> <form action="" method="POST"> <input type="text" name="max" placeholder="0"/>F CFA <input name="button" type="submit" id="button" value="CALCULER" /> </form> <br> <strong>Le max TOTAL A PAYER est de: </strong><br> <?php echo $montant; ?>