Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2992 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Debug d'une fonction de validation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Debug d'une fonction de validation

n°1698604
troon
Posté le 07-03-2008 à 00:33:09  profilanswer
 

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 :
  1. // Assessing the contact number
  2. if (!is_numeric($cN)) // if the user entered non-alpha characters...
  3.   {
  4.   $nbError++;
  5.   $msgError.= "- The contact number must ONLY contain numeric characters\\n";
  6.   }
  7.   else
  8.   {
  9.    // Here we test if the length of the contact number is 7 characters
  10.    if (strlen($cN) != 7)
  11.    {
  12.     $nbError++;
  13.     $msgError.= "- The contact number must be 7 characters long\\n";
  14.    }
  15.    // And we check if it is not a multiple of 3 by extracting the decimal part of the division
  16.    $contact_div_3 = $cN / 3;
  17.    $decimale=abs($contact_div_3)-intval(abs($contact_div_3));
  18.    if (!$decimale)
  19.    {
  20.     $nbError++;
  21.     $msgError.= "- The contact number must not be a multiple of 3\\n";
  22.    }
  23.   }
  24. if (!$nbError)
  25.  {
  26.   return ("" ); // No error, we return a null string
  27.  }
  28.  else {
  29.   // or we output the concaneted error message
  30.   echo("<SCRIPT LANGUAGE='JavaScript'>window.alert('".$msgError."')</SCRIPT>" );
  31.   return ($msgError);
  32.  }


 
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

mood
Publicité
Posté le 07-03-2008 à 00:33:09  profilanswer
 

n°1698608
art_dupond
je suis neuneu... oui oui !!
Posté le 07-03-2008 à 01:24:05  profilanswer
 

J'ai pas essayé à comprendre ce que tu as fais, mais je pense que c'est plus simple avec un modulo

Code :
  1. if(!($cN%3))
  2. {
  3.     Erreur;
  4. }
 

$cN%3 donne le reste de la division par 3.


Message édité par art_dupond le 07-03-2008 à 01:24:20

---------------
oui oui
n°1698609
troon
Posté le 07-03-2008 à 01:28:28  profilanswer
 

Merci Art_dupond,
 
Je pense avoir trouvé : l'utilisateur a rentré 3.00001, ce qui est bien un numerique, fait 7 caractères, et le resultat de la division par 3 donne 0 (pour l'ordinateur).
 
Et ta solution est plus elegante, merci...
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Debug d'une fonction de validation

 

Sujets relatifs
validation code anti-spamCréer une fonction en VBA
[Résolu] Problème de variable qui veut pas sortir d'une fonction.Probleme avec la fonction mysql_connect
[MySQL] Requète aléatoire en fonction du jourComment faire un fichier de fonction
fonction GENERIQUE pour afficher/cacher des DIV[Access] Filtrer liste déroulante en fonction d'une autre
Fonction SQL tte simpleAide fonction formattage tag Dailymotion / Youtubebib
Plus de sujets relatifs à : Debug d'une fonction de validation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR