Comment récupérer une valeur HTML dans du PHP

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,

3 réponses

  1. mandolorien Messages postés 115 Statut Membre 3
     
    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 !";
    }
    ?>
    

    0
    1. jacobmboyo
       
      Merci beaucoup mandolorien,
      Ton aide m'a été très précieuse. En effet, mon problème est résolus!
      :-)
      0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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 :
    ?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; ?>
    	
    	
    

    0
    1. jacobmboyo
       
      Merci pour cette remarque et cette idée très utiles!
      0