$_SESSION['day'] == 0 & == 8 & == 9... agn

Résolu
xxkirastarothxx Messages postés 415 Statut Membre -  
 toto -
Bonjour à tous.
je n'y comprends rien, j'ai une variable de session ($_SESSION['day']) qui est égale a 00, à 08 et à 09 oO
Enfin c'est ce que j'en conclus.
Regardons d'abbord mon code:

( je précise avant: $_SESSION['day'] = $_POST['day'];)

<select name="day" id="day">
   <option value="00" <?php if ($_SESSION['day'] == 00){echo "selected='selected'";} ?>>Jour</option>
   <option value="01" <?php if ($_SESSION['day'] == 01){echo "selected='selected'";} ?>>1</option>
   <option value="02" <?php if ($_SESSION['day'] == 02){echo "selected='selected'";} ?>>2</option>
   <option value="03" <?php if ($_SESSION['day'] == 03){echo "selected='selected'";} ?>>3</option>
   <option value="04" <?php if ($_SESSION['day'] == 04){echo "selected='selected'";} ?>>4</option>
   <option value="05" <?php if ($_SESSION['day'] == 05){echo "selected='selected'";} ?>>5</option>
   <option value="06" <?php if ($_SESSION['day'] == 06){echo "selected='selected'";} ?>>6</option>
   <option value="07" <?php if ($_SESSION['day'] == 07){echo "selected='selected'";} ?>>7</option>
   <option value="08" <?php if ($_SESSION['day'] == 08){echo "selected='selected'";} ?>>8</option>
   <option value="09" <?php if ($_SESSION['day'] == 09){echo "selected='selected'";} ?>>9</option>


et voici le code source par firefox:

<select name="day" id="day">
            <option value="00" selected='selected'>Jour</option>
            <option value="01" >1</option>
            <option value="02" >2</option>
            <option value="03" >3</option>
            <option value="04" >4</option>
            <option value="05" >5</option>
            <option value="06" >6</option>
            <option value="07" >7</option>
            <option value="08" selected='selected'>8</option>
            <option value="09" selected='selected'>9</option>


Help Plz !
Configuration: Windows XP
Firefox 3.0.1

8 réponses

  1. toto
     
    Bonjour

    Pas si étrange que ça.
    un nombre qui commence par 0 en PHP, c'est un nombre en octal (pas qu'en PHP d'ailleurs)
    donc 08 et 09 ne sont pas des nombres corrects (en octal, le plus grand chiffre est 7)
    ils sont assimilés à 0 dans la comparaison...
    0
  2. toto
     
    ça sert dans quel cas de figure ces petites bêtes ? :/
    quelles petites bêtes ? les nombres en octal ? ça sert à ceux qui se sont coupé 2 doigts et aux martiens, évidemment !
    0
  3. 3ou Messages postés 205 Statut Membre 70
     
    c quoi le probleme
    -1
  4. LeYaude Messages postés 307 Statut Membre 46
     
    Essaie de mettre des " autour des 00, 01... pour les comparaisons. Je ne sais pas trop comment PHP interprète les 00, 01 etc. mais il y a des chances que ça soit des chaines de caractère. Maintenant, pour expliquer exactement ce comportement pour le moins étrange, je ne sais pas trop.
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    => c quoi le problème
    Simplement que je ne devrai avoir qu'une seule entrée de pré-sélectionnée.

    => Utilise plutot des elseif
    apparemment avec les elseif, ça marche pas: surement par-ce qu'il y a du code html entre les les deux:
    Parse error: syntax error, unexpected T_ELSEIF in /composants/users/register.php on line 365

    je pense que ça pose problème:
    <option value="00" <?php if ($_SESSION['day'] == 00){echo "selected='selected'";} ?>>Jour</option>
    <option value="01"
    <?php elseif ($_SESSION['day'] == 01){echo "selected='selected'";} ?>>1</option>

    Et pour précision, j'utilise les SESSION par-ce que l'inscription se fait en 3 étapes. si je n'utilise pas les sessions je suis obliger de réécrire toutes les données enregistrée précédemment dans des input en hidden :S

    je vais essayer les guillemets, mais normalement pour des nombres ça fonctionne sans, je vais voir.
    -1
  7. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    Bon bah ça a l'air de marcher avec des guillemets, c'est pas plus c** que ça ^^
    Merci beaucoup :)
    [Résolu] (je cherche pas à comprendre plus loins :P)
    -1
  8. LeYaude Messages postés 307 Statut Membre 46
     
    Merci pour la précision toto, c'est bon à savoir ça ! Donc en fait en remplaçant 01, 02... par 1, 2... ça marcherait aussi ?
    -1
  9. xxkirastarothxx Messages postés 415 Statut Membre 40
     
    Ouais merci pour la précision, je comprends mieux :)
    ça sert dans quel cas de figure ces petites bêtes ? :/
    -1