Gerer des erreurs en php

Fermé
sisimouhamed Messages postés 79 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 28 novembre 2011 - 28 janv. 2010 à 17:47
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 - 28 janv. 2010 à 18:11
Bonjour,
je voudrais savoir comment en php gerer les erreurs de saisie c'est à dir je veut fair un programme php qui converti des monnaie en differrents monnaie pou cela je veut que l'usager saisie d'abord le montant à convertir et je veut ce montant soit un entier et non pas un caractere.ce que voudrais c'est qu'elqu'un m'explique comment faire si on a saisi un caractére à la place d'un entier car dans ce cas un message doit apparaitre pour signaler qu'il faut saisir un entier.voilà ce que j'ai ait:
<?php
$valeur=$_POST['montant'];//nombre de fois que l'on veut convertir un devise

if ($valeur<0)//Si le nombre de fois que l'on veut convertir un devise est négatif
{
echo "<b>Saisire une valeur positive<b>";
}
?>
Merci de m'aider

2 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
28 janv. 2010 à 17:55
le B A BA de la bonen gestion d'erreur, ce sont les exceptions:
http://php.net/manual/fr/language.exceptions.php

sinon, pour faire plus simple, pour tester si c'est un entier, tu peux faire is_int: https://www.php.net/manual/en/function.is-int.php

dans ton cas, il faudrait plutot utiliser is_numeric https://www.php.net/manual/en/function.is-numeric.php
car un entier c'est un nombre rond. Si la persone veut convertir 3.5€ en dollars, is_int te dira que ce n'est pas un entier
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
28 janv. 2010 à 18:11
Le plus simple serait encore d' empecher le visiteur de pouvoir ecrire un caractere avec string_replace si je me trompe pas. En gros il n' y aurai que les touches numeriques qui fonctionneraient.
0