Calculatrice PHP
Résolu
lgslgs
-
lgslgs -
lgslgs -
Bonjour,
J'ai fait une calculatrice en php mais cette dernière ne calcule pas les nombre à virgule. Quand je saisi des nombre à virgule avec le oint ou la virgule du clavier, j'ai une erreur comme retour. Mais ça fonctionne avec les entiers. Voici le code
<code>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form method="post" action="operation.php">
<label for="valeur1" style="display:block; float:left; width:70px">Valeur 1</label>
<input type="number" name="valeur1" id="valeur1" value="<?php
if (isset($_POST['valeur1'])) echo $_POST['valeur1']; ?>"/><br/><br/>
<label for="operateur" style="display:block; float:left; width:70px">Opérateur</label>
<select name="operateur" id="operateur">
<option value="+" <?php
if (isset($_POST['operateur']) AND $_POST['operateur']=="+") {
echo "selected";
}?>>+
<option value="-" <?php
if (isset($_POST['operateur']) AND $_POST['operateur']=="-") {
echo "selected";
}?>>-
<option value="*" <?php
if (isset($_POST['operateur']) AND $_POST['operateur']=="*") {
echo "selected";
}?>>*
<option value="/" <?php
if (isset($_POST['operateur']) AND $_POST['operateur']=="/") {
echo "selected";
}?>>/
</select><br/><br/>
<label for="valeur2" style="display:block; float:left; width:70px">Valeur 2</label>
<input type="number" name="valeur2" id="valeur2" value="<?php
if (isset($_POST['valeur2'])) echo $_POST['valeur2']; ?>"/><br/>
<input type="submit" name="bSubmit" value="Valider">
</form>
<p>
<?php
if(!is_null($_POST['valeur1']) && !is_null($_POST['valeur2']))
{
$valeur1 = htmlspecialchars($_POST['valeur1']);
$valeur2 = htmlspecialchars($_POST['valeur2']);
if($_POST['operateur'] == "/" && $_POST['valeur2'] == 0)
{
$erreur = "Un nombre ne peut pas être divisé par 0";
}//else{ $resultat = $_POST['valeur1'].$_POST['operateur'].$_POST['valeur2']; }
elseif($_POST['operateur'] == "+")
{
$resultat = $valeur1 + $valeur2;
}
elseif($_POST['operateur'] == "-")
{
$resultat = $valeur1 - $valeur2;
}
elseif($_POST['operateur'] == "*")
{
$resultat = $valeur1 * $valeur2;
}
elseif($_POST['operateur'] == "/" && $_POST['valeur2'] != 0)
{
$resultat = $valeur1 / $valeur2;
}
}else { $erreur = "Vous devez saisir des valeurs"; }
if(isset($erreur)) echo "<font color='red'>".$erreur."<font>";
if(isset($resultat)) echo "Le résultat est : ".$resultat;
?></p>
</body>
</html>
<code>
Aidez moi svp
J'ai fait une calculatrice en php mais cette dernière ne calcule pas les nombre à virgule. Quand je saisi des nombre à virgule avec le oint ou la virgule du clavier, j'ai une erreur comme retour. Mais ça fonctionne avec les entiers. Voici le code
<code>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form method="post" action="operation.php">
<label for="valeur1" style="display:block; float:left; width:70px">Valeur 1</label>
<input type="number" name="valeur1" id="valeur1" value="<?php
if (isset($_POST['valeur1'])) echo $_POST['valeur1']; ?>"/><br/><br/>
<label for="operateur" style="display:block; float:left; width:70px">Opérateur</label>
<select name="operateur" id="operateur">
<option value="+" <?php
if (isset($_POST['operateur']) AND $_POST['operateur']=="+") {
echo "selected";
}?>>+
<option value="-" <?php
if (isset($_POST['operateur']) AND $_POST['operateur']=="-") {
echo "selected";
}?>>-
<option value="*" <?php
if (isset($_POST['operateur']) AND $_POST['operateur']=="*") {
echo "selected";
}?>>*
<option value="/" <?php
if (isset($_POST['operateur']) AND $_POST['operateur']=="/") {
echo "selected";
}?>>/
</select><br/><br/>
<label for="valeur2" style="display:block; float:left; width:70px">Valeur 2</label>
<input type="number" name="valeur2" id="valeur2" value="<?php
if (isset($_POST['valeur2'])) echo $_POST['valeur2']; ?>"/><br/>
<input type="submit" name="bSubmit" value="Valider">
</form>
<p>
<?php
if(!is_null($_POST['valeur1']) && !is_null($_POST['valeur2']))
{
$valeur1 = htmlspecialchars($_POST['valeur1']);
$valeur2 = htmlspecialchars($_POST['valeur2']);
if($_POST['operateur'] == "/" && $_POST['valeur2'] == 0)
{
$erreur = "Un nombre ne peut pas être divisé par 0";
}//else{ $resultat = $_POST['valeur1'].$_POST['operateur'].$_POST['valeur2']; }
elseif($_POST['operateur'] == "+")
{
$resultat = $valeur1 + $valeur2;
}
elseif($_POST['operateur'] == "-")
{
$resultat = $valeur1 - $valeur2;
}
elseif($_POST['operateur'] == "*")
{
$resultat = $valeur1 * $valeur2;
}
elseif($_POST['operateur'] == "/" && $_POST['valeur2'] != 0)
{
$resultat = $valeur1 / $valeur2;
}
}else { $erreur = "Vous devez saisir des valeurs"; }
if(isset($erreur)) echo "<font color='red'>".$erreur."<font>";
if(isset($resultat)) echo "Le résultat est : ".$resultat;
?></p>
</body>
</html>
<code>
Aidez moi svp
A voir également:
- Calculatrice en php
- Calculatrice gratuit - Télécharger - Calcul & Conversion
- Easy php - Télécharger - Divers Web & Internet
- Installation calculatrice - Télécharger - Calcul & Conversion
- Ma-calculatrice - Télécharger - Calcul & Conversion
- Expert php pinterest - Télécharger - Langages
2 réponses
Bonjour,
Déjà... pour poster ton code sur le forum, merci de le faire en utilisant les BALISES DE CODE.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite je t'invite vivement à lire et à appliquer ce qui est indiqué dans ce lien : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
surtout la partie concernant la récupération PROPRE des variables AVANT de les utiliser.
Pour finir, regarde donc comment s'utiliser le floatval() https://www.php.net/manual/fr/function.floatval.php
Déjà... pour poster ton code sur le forum, merci de le faire en utilisant les BALISES DE CODE.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite je t'invite vivement à lire et à appliquer ce qui est indiqué dans ce lien : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
surtout la partie concernant la récupération PROPRE des variables AVANT de les utiliser.
Pour finir, regarde donc comment s'utiliser le floatval() https://www.php.net/manual/fr/function.floatval.php