Bonjour,
J'ai fait une appli php où l'utilisateur doit rentrer un numéro de téléphone (avec 7 numéros) et, pour une raison que j'ignore, ce numéro ne doit pas être un multiple de 3.
J'ai donc fait le code suivant :
$cN est le numéro de tél.
$nbError et $msgError sont initialisés à 0 et "".
Code :
- // Assessing the contact number
- if (!is_numeric($cN)) // if the user entered non-alpha characters...
- {
- $nbError++;
- $msgError.= "- The contact number must ONLY contain numeric characters\\n";
- }
- else
- {
- // Here we test if the length of the contact number is 7 characters
- if (strlen($cN) != 7)
- {
- $nbError++;
- $msgError.= "- The contact number must be 7 characters long\\n";
- }
- // And we check if it is not a multiple of 3 by extracting the decimal part of the division
- $contact_div_3 = $cN / 3;
- $decimale=abs($contact_div_3)-intval(abs($contact_div_3));
- if (!$decimale)
- {
- $nbError++;
- $msgError.= "- The contact number must not be a multiple of 3\\n";
- }
- }
- if (!$nbError)
- {
- return ("" ); // No error, we return a null string
- }
- else {
- // or we output the concaneted error message
- echo("<SCRIPT LANGUAGE='JavaScript'>window.alert('".$msgError."')</SCRIPT>" );
- return ($msgError);
- }
|
J'ai testé moi même son fonctionnement et je pensais que c'etait bon, mais je me suis rendu compte qu'un utilisateur a pu rentrer 0000003 et 0000000 comme numéro de téléphone, et que la fonction n'a pas bronchée et a validée ces numéros sans afficher de messages.
Je ne vois pas ce qui cloche...
Merci pour votre aide