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

  FORUM HardWare.fr
  Programmation
  PHP

  enigme pour moi avec un controle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

enigme pour moi avec un controle

n°892508
Scarf3ss3
Posté le 07-11-2004 à 15:23:53  profilanswer
 

voilà je fais plusieurs controls pour des variables passées en POST et il y en a un que je ne comprends pas, qui ne fonctionne pas comme je voudrai.

Code :
  1. $message = "";
  2. echo $_POST['an'] // il m'affiche 2004
  3. if (!is_int($_POST['an']))
  4. $message = "Erreur dans l'année";
  5. echo $message; //là il m'affiche Erreur dans l'année alors que 2004 est bien un entier !!!


je ne comprends pas


Message édité par Scarf3ss3 le 07-11-2004 à 15:24:11
mood
Publicité
Posté le 07-11-2004 à 15:23:53  profilanswer
 

n°892569
naceroth
Posté le 07-11-2004 à 17:33:41  profilanswer
 

Non, un résultat provennant d'un form sera toujours une chaine, l'html ne typant pas plus que php ses données

n°892584
kalex
Posté le 07-11-2004 à 17:55:36  profilanswer
 

Tu dois vérifier ça avec une regex.

n°892596
sielfried
Posté le 07-11-2004 à 18:09:10  profilanswer
 

is_numeric() à la place de is_int() devrait le faire.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°892599
kalex
Posté le 07-11-2004 à 18:11:45  profilanswer
 

Sielfried a écrit :

is_numeric() à la place de is_int() devrait le faire.

On en apprend tout les jours. :jap:  
Quoique la regex offre plus de souplesse. :o

n°896125
rufo
Pas me confondre avec Lycos!
Posté le 11-11-2004 à 17:36:53  profilanswer
 

Code :
  1. function isInteger($Value)
  2. {
  3.      if (preg_match("[\d+]", $Value) != 0)
  4.      {
  5.          // The value must not have a '.' or ',' to be an integer
  6.          if ((preg_match("[\.]", $Value) == 0) && (preg_match("[,]", $Value) == 0))
  7.          {
  8.              // The value is an integer
  9.              return TRUE;
  10.          }
  11.      }
  12.      // The values isn't an integer
  13.      return FALSE;
  14. }


 
Bon, y'a sans doute mieux comme code, mais ça marche bien :)

n°896821
ratibus
Posté le 12-11-2004 à 14:32:21  profilanswer
 

Code :
  1. function isInteger($var) {
  2.    if (is_int($var)) return true;
  3.    if (is_string($var) and $var === (string)(int) $var) return true;
  4.    return false;
  5. }

n°897231
sielfried
Posté le 12-11-2004 à 22:07:56  profilanswer
 

Vous avez tous quelque chose contre is_numeric ou ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°897355
ratibus
Posté le 13-11-2004 à 08:44:52  profilanswer
 

Ben le is_numeric il va pas te dire si c'est un entier :)

n°897356
sielfried
Posté le 13-11-2004 à 08:56:41  profilanswer
 

Ah oui, en effet. :o
 
Je propose ça alors :
 

Code :
  1. function is_integer($var) {
  2.    return is_numeric($var) && $var == intval($var);
  3. }


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar

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

  enigme pour moi avec un controle

 

Sujets relatifs
Comment mettre une image dans un controle picture ??Cherche contrôle Delphi de gestion arborescente d'options
MFC : Contrôle CListCtrlCoordonnées d'un contrôle
[VBA] Nom et Source Contrôle[Résolu] [Access] Propriété "Oldvalue" d'un contrôle dépendant
[Access] Récupérer le nom du controle actif[BATCH]controle des ordinateurs connectés à un réseau
Contrôle ActiveX ?[Résolu] Mouvement de la souris au-dessus d'un contrôle CStatic
Plus de sujets relatifs à : enigme pour moi avec un controle


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