Comment récupérer une valeur HTML dans du PHP
jacobmboyo
-
jacobmboyo -
jacobmboyo -
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,
A voir également:
- Comment récupérer une valeur HTML dans du PHP
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment recuperer une video sur youtube - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment récupérer un compte facebook piraté - Guide
- Editeur html - Télécharger - HTML
3 réponses
Bonjour
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
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) :
fichier index.php :
fichier nguere.php :
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 !"; } ?>
Bonjour,
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 :
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; ?>