Avatar billede mysli Nybegynder
07. april 2005 - 21:53 Der er 10 kommentarer og
1 løsning

for løkke giver fejl

Jeg er ved to simple inputs.

<table>
                            <tr>
                                <td>
                                    <select name="dato_maaned">
                                    <?php                   
                                    $maaneder = 12;
                                    for ($i = 0; $i < $maaneder; $i++){
                                        $maaned = $i + 1;
                                        echo "<option value='$i'>";
                                        echo Monthname($i);
                                        echo "</option>";
                                    }
                                    ?>
                                    </select>
                                </td>
                                <td>
                                    <select name="dato_dag">
                                    <?php
                                    $dage = 31;
                                    for ($i = 1; $i <= $dage; $i++){
                                   
                                        echo "<option value='$i'>";
                                        echo $i;
                                        echo "</option>";
                                    }
                                    ?>
                                    </select>
                                </td>
                           
                            </tr>
                        </table>

Problemet er, at efter dette her, stopper siden med at loade hvad der er efter.

Hvis jeg erstatter anden for løkke, med <option value='1'>test</option> er det intet problem, så loades resten af siden også.

Hvad kan der være galt?
Avatar billede jaw Nybegynder
07. april 2005 - 21:55 #1
Jeg vil skyde på du har en fejl i din monthname-funktion. For jeg kan da ikke se nogen fejl hvis jeg bytter monthname($i) ud med bare $i.
Avatar billede mysli Nybegynder
07. april 2005 - 21:59 #2
Netop det første jeg tænkte, men det er ikke der fejlen sker. Det er i anden for løkke, under <select name="dato_dag">.

Hvis jeg erstatter den løkke med <option value="test">test</option>, så kører det hele fint.
Avatar billede detox Nybegynder
07. april 2005 - 22:09 #3
Der er ingen fejl i ovenstående, hvis din Monthname() fungerer.
Avatar billede mysli Nybegynder
07. april 2005 - 22:09 #4
Lidt underligt. Nu har jeg sat præcis den løkke, ind i en function, og så kaldt funktionen i stedet, og så virker det.

Lukker
Avatar billede mysli Nybegynder
07. april 2005 - 22:18 #5
Hmm.. Nu sker det igen. Det er åbenbart hvis jeg udskriver flere for på samme side, det virker altså underligt.
Avatar billede henriktha Nybegynder
08. april 2005 - 00:32 #6
Det er din Monthname der er noget galt med:

Hvis du gør det på denne måde er der ingen problemer...

<table>
                            <tr>
                                <td>
                                    <select name="dato_maaned">
                                    <?php
                                    $Monthname = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December");
                                    $maaneder = 12;
                                    for ($i = 0; $i < $maaneder; $i++){
                                        $maaned = $i + 1;
                                        echo "<option value='$i'>";
                                        echo $Monthname[$i];
                                        echo "</option>";
                                    }
                                    ?>
                                    </select>
                                </td>
                                <td>
                                    <select name="dato_dag">
                                    <?php
                                    $dage = 31;
                                    for ($i = 1; $i <= $dage; $i++){
                                   
                                        echo "<option value='$i'>";
                                        echo $i;
                                        echo "</option>";
                                    }
                                    ?>
                                    </select>
                                </td>
                           
                            </tr>
                        </table>
Avatar billede mysli Nybegynder
08. april 2005 - 07:42 #7
Henrik -

function monthname($month){
    $Maaned_navn = array(
    0 => "Januar",
    1 => "Februar",
    2 => "Marts",
    3 => "April",
    4 => "Maj",
    5 => "Juni",
    6 => "Juli",
    7 => "August",
    8 => "September",
    9 => "Oktober",
    10=> "November",
    11=> "December"
    );
   
    return $Maaned_navn[$month];
}

Sådan så min monthname() ud. Den smed jeg så i en for løkke, som du har gjort. Det fungerede helt fint.

Det var, som tidligere skrevet, i 2. løkke problem er opstået, hvis jeg fjernede den helt, eller skrev noget andet en en for løkke, så gik det som smurt.

Nu har jeg smidt alle de løkker, ind i en funktion PickDate(), og det virker. Men undrer mig stadig hvorfor det andet ikke virkede.
Avatar billede mysli Nybegynder
08. april 2005 - 08:32 #8
Tror det skyldes at jeg har brugt samme variabler i en løkke.

Altså,

for ($i=0;$i < $x; $i++){
  for ($i=0;$i < $y; $i++){
    //kode
  }
}
Avatar billede henriktha Nybegynder
08. april 2005 - 08:39 #9
ja det tænkte jeg også på, men hvorfor skulle det ikke kunne bruges når det kan hos mig ??

Er register_globals sat til on på din server ??
Avatar billede mysli Nybegynder
08. april 2005 - 08:54 #10
Ganske rigtigt.
Avatar billede henriktha Nybegynder
08. april 2005 - 09:04 #11
Ja det forklarer jo en del....

men hvis du så havde startet din næste løkke med $i = 0;
ville der heller ik have været problemer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester