Fehler bei if Abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler bei if Abfragen

    Hallo
    hab hier ein fuer mich absolut unverstaendliches Problem.

    Ich habe drei Auswahllisten tag, monat, jahr. In diesen moechte ich je nach Uebergabewert einen bestimmten Punkt vorselektieren.

    Klappt auch einwandfrei, bis auf die Werte 08 und 09. Bei allen anderen ist's in Ordnung.

    Code
    PHP-Code:
    echo $erg[0];    
    echo $erg[1];
    echo $erg[2];

    <select name="tag" class="auswahl">
                 <option <? if($erg[2]==01) { echo 'selected'; }?> value= "01" >01</option>
                 <option <? if($erg[2]==02) { echo 'selected'; }?> value= "02">02</option>
                 <option <? if($erg[2]==03) { echo 'selected'; }?> value= "03">03</option>
                 <option <? if($erg[2]==04) { echo 'selected'; }?> value= "04">04</option>
                 <option <? if($erg[2]==05) { echo 'selected'; }?> value= "05">05</option>
                 <option <? if($erg[2]==06) { echo 'selected'; }?> value= "06">06</option>
                 <option <? if($erg[2]==07) { echo 'selected'; }?> value= "07">07</option>
                 <option <? if($erg[2]==08) { echo 'selected'; }?> value= "08">08</option>
                 <option <? if($erg[2]==09) { echo 'selected'; }?> value= "09">09</option>
                 <option <? if($erg[2]==10) { echo 'selected'; }?> value= "10">10</option>
                 <option <? if($erg[2]==11) { echo 'selected'; }?> value= "11">11</option>
                 <option <? if($erg[2]==12) { echo 'selected'; }?> value= "12">12</option>
                 <option <? if($erg[2]==13) { echo 'selected'; }?> value= "13">13</option>
                 <option <? if($erg[2]==14) { echo 'selected'; }?> value= "14">14</option>
                 <option <? if($erg[2]==15) { echo 'selected'; }?> value= "15">15</option>
                 <option <? if($erg[2]==16) { echo 'selected'; }?> value= "16">16</option>
                 <option <? if($erg[2]==17) { echo 'selected'; }?> value= "17">17</option>
                 <option <? if($erg[2]==18) { echo 'selected'; }?> value= "18">18</option>
                 <option <? if($erg[2]==19) { echo 'selected'; }?> value= "19">19</option>
                 <option <? if($erg[2]==20) { echo 'selected'; }?> value= "20">20</option>
                 <option <? if($erg[2]==21) { echo 'selected'; }?> value= "21">21</option>
                 <option <? if($erg[2]==22) { echo 'selected'; }?> value= "22">22</option>
                 <option <? if($erg[2]==23) { echo 'selected'; }?> value= "23">23</option>
                 <option <? if($erg[2]==24) { echo 'selected'; }?> value= "24">24</option>
                 <option <? if($erg[2]==25) { echo 'selected'; }?> value= "25">25</option>
                 <option <? if($erg[2]==26) { echo 'selected'; }?> value= "26">26</option>
                 <option <? if($erg[2]==27) { echo 'selected'; }?> value= "27">27</option>
                 <option <? if($erg[2]==28) { echo 'selected'; }?> value= "28">28</option>
                 <option <? if($erg[2]==29) { echo 'selected'; }?> value= "29">29</option>
                 <option <? if($erg[2]==30) { echo 'selected'; }?> value= "30">30</option>
                 <option <? if($erg[2]==31) { echo 'selected'; }?> value= "31">31</option>
               </select>
                 <select name="monat" >
                   <option <? if($erg[1]==01) { echo 'selected'; }?> value= "01">Januar</option>
                   <option <? if($erg[1]==02) { echo 'selected'; }?> value= "02">Februar</option>
                   <option <? if($erg[1]==03) { echo 'selected'; }?> value= "03">M&auml;rz</option>
                   <option <? if($erg[1]==04) { echo 'selected'; }?> value= "04">April</option>
                   <option <? if($erg[1]==05) { echo 'selected'; }?> value= "05">Mai</option>
                   <option <? if($erg[1]==06) { echo 'selected'; }?> value= "06">Juni</option>
                   <option <? if($erg[1]==07) { echo 'selected'; }?> value= "07">Juli</option>
                   <option <? if($erg[1]==08) { echo 'selected'; }?> value= "08">August</option>
                   <option <? if($erg[1]==09) { echo 'selected'; }?> value= "09">September</option>
                   <option <? if($erg[1]==10) { echo 'selected'; }?> value= "10">Oktober</option>
                   <option <? if($erg[1]==11) { echo 'selected'; }?> value= "11">November</option>
                   <option <? if($erg[1]==12) { echo 'selected'; }?> value= "12">Dezember</option>
                 </select>
                 <select name="jahr">
                   <option <? if($erg[0]==2003) { echo 'selected'; }?> value= "2003" >2003</option>
                   <option <? if($erg[0]==2004) { echo 'selected'; }?> value= "2004" >2004</option>
                   <option <? if($erg[0]==2005) { echo 'selected'; }?> value= "2005">2005</option>
                   <option <? if($erg[0]==2006) { echo 'selected'; }?> value= "2006">2006</option>
                   <option <? if($erg[0]==2007) { echo 'selected'; }?> value= "2007">2007</option>
                   <option <? if($erg[0]==2008) { echo 'selected'; }?> value= "2008">2008</option>
                 </select>
    Die Ausgabe ist dann zum Beispiel fuer den 08.09.2004:

    20040908 // also die Werte werden definitiv richtig uebergeben

    Jedoch ist nur 2004 = selected.
    bei Monat und Tag ist nichts vorselektiert.
    PHP-Code:
    <!-- Jahr -->
    <
    option selected value"2004">2004</option>
    <!-- 
    Tag -->
    <
    option value"08">08</option>
    <!-- 
    Monat -->
    <
    option value"09">September</option
    Es funktioniert mit allen anderen Werten. Nur bei 08 und 09 passiert nichts.
    Kann mir einer erklaeren warum?

    2. Frage: Haett ich das auch irgendwie einfacher Programmieren koennen? Mir viel nichts anderes ein...

  • #2
    Re: Fehler bei if Abfragen

    2. Frage: Haett ich das auch irgendwie einfacher Programmieren koennen? Mir viel nichts anderes ein...
    Code:
    for ($i = 0; $i < days_of_month(monat); $i++)
    etc.

    dann erledigt sich auch 1.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Re: Re: Fehler bei if Abfragen

      Original geschrieben von derHund
      Code:
      for ($i = 0; $i < days_of_month(monat); $i++)
      Wie soll das gehen? Bei den Tagen vielleicht ja, aber nicht bei den Monaten.
      Ausserdem ist das doch voellig unlogisch, warum es gerade bei '08' und '09' es nicht klappt...

      Kommentar


      • #4
        mysteriöse '08' und '09'

        Hallo bin gerade auf Fehlersuche und habe meine php file schon auf das Minimum gekuerzt und ich sehe keinen Ausweg mehr.

        Folgender einfachster Code:

        PHP-Code:
        <?
        $jahr = '2012';    
        $acht = '08';
        $neun = '09';
        $sieben = '07';

        echo $jahr;    
        echo $acht;
        echo $neun;
        echo $sieben;

         if($acht==08) { echo 'hier ist die acht'; }
         if($neun==09) { echo 'hier ist die neun'; }
         if($jahr==2012) { echo 'das ist das jahr 2012'; }
         if($sieben==07) { echo 'seven is heaven'; }
        ?>
        Es sollte ja jetzt einfach alles ausgegeben werden. sprich:
        ----------------------------------------
        2012 08 09 07
        hier ist die acht
        hier ist die neun
        das ist das jahr 2012
        seven is heaven
        ----------------------------------------


        aber ausgegeben wird folgendes:
        ----------------------------------------

        2012 08 09 07
        das ist das jahr 2012
        seven is heaven
        ----------------------------------------

        Das heisst php erkennt nicht, dass 08 == 08 true ist und laesst die if
        abfrage unangestastet. (das gleiche bei der 09)
        Bei der 07 funktionierts einwandfrei...


        WARUM???????? Ist an den Werten 08 und 09 so was besonderes? Das kann doch nicht sein.... Ich habs uebrigens auf zwei Systemen laufen lassen, es kommt beides mal das Selbe raus....

        EDIT:
        kein grund, für immer noch das selbe problem einen neuen thread aufzumachen. deshalb führe ich das jetzt mal zusammen. wahsaga
        Zuletzt geändert von wahsaga; 14.01.2004, 09:26.

        Kommentar


        • #5
          Nun, du vergleichst einen String mit einer Zahl ...

          PHP-Code:
          if($acht=='08'
          sollte da eher funktionieren.

          Kommentar

          Lädt...
          X