Petit problème PHP

Résolu
Bonjour à tous.
Voila j'ai un petit soucis avec cette ligne de code :

if (strlen($vitesse)>5 || !is_int($vitesse)) {$erreur=1; ECHO "<font size=\"2\" face=\"Verdana\" color=\"#FF0000\">- Mauvais score (vitesse)</font><br>"; $vitesse=0;}



Si $vitesse = 12200 par exemple, on obtient Mauvais score, alors que sa longueur est inferieure à 5 et c'est un nombre entier.

Merci pour vos réponses. :-)

2 réponses

  1. Contributeur
    Bonjour!

    Non, sa longueur est égale à 5! Donc, ça ne passe pas!
    si tu veux que ça passe, il faut mettre:
    strlen($vitesse)>=5

    :)
    1. merci pour la réponse rapide... mais
      avec $vitesse = 123 ca marche pas non plus.
      J'ai la variable vitesse avec une champ texte de formulaire, peut-être que ca vient de là.
  2. Bonjour,

    J'ai testé votre code, il est très valable, quand la variable contient 12200, le code inclus dans le if ne s'exécute pas. Etes-vous sûr de la valeur de $vitesse, le cas échéant, placez un echo $vitesse pour le vérifier.
    1. ok.

      Alors voici mon code :

      Dans un fichier includeinscription.php :
      Ya un echo "[...]<form method=\"POST\" action=\"inscriptionmembres.php\"  name=\"form\">[...]<input type=\"text\" VALUE=\"$vitesse\" name=\"vitesse\">[...]


      Dans la page :
      si le formulaire n'a pas déja été rempli -> include("includeinscription.php")
      
      [...]if (strlen($vitesse)>5 || !is_int($vitesse)) {$erreur=1; ECHO "<font size=\"2\" face=\"Verdana\" color=\"#FF0000\">- Mauvais score (vitesse)</font><br>"; $vitesse=0;}[...]
      include("includeinscription.php")
      


      Voila. La valeure de $vitesse est toujours égale à 0 ! :-/
    2. Contributeur
      Ce que tu peux faire, c'est convertir ta chaine:
      $vitesseInt = 1 + $vitesse -1;
      et faire:
      if (strlen($vitesse)>5 || !is_int($vitesseInt))