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; ?>