Gå til innhold

[Løst] PHP While problem


Anbefalte innlegg

Hei, lager en liten while løkke som skal printe ut antall tekstbokser utifra hva brukeren har trykket inn på det forrige steget av prosessen (som da altså blir hentet ut og satt i $antallVegger).

 

Problemet mitt er et når brukeren velger 1, så blir inputen osv printet ut med $tell som har en verdi av 3.

 

Velger brukeren 2, så blir det printet ut to inputer med verdiene 1 og 3.

 

Når brukeren velger 3 (maks) så blir det riktig, da kommer tre inputer opp.. Med verdiene 1, 2 og 3.

 

Hvorfor blir det ikke riktig når brukeren velger 1 eller 2?

 

               <?php
              $antallVegger = $_POST["antallVegger"];
              $tell = 1;
              while ($tell < $antallVegger){

                  echo "<input type='text' name='side$tell'><label for='side$tell'>Lengde for side $tell (milimeter)</label><br/>";
                  $tell = $tell + 1;
                  }
              ?>

Lenke til kommentar
Videoannonse
Annonse

for($tell = 1; $tell <= $antallVegger; $tell++)
{
 echo "<input type='text' name='side$tell'><label for='side$tell'>Lengde for side $tell (milimeter)</label><br/>";
}

 

 

Det ga nøyaktig det samme resultatet som min while løkke, om jeg fjernet = fra parameterne inne i for løkka. Om jeg hadde = i den, så ble det hvertfall feil - da jeg fikk 2 inputs når brukeren egentlig valgte en.. altså en ekstra uansett valget til brukeren :ermm:

Endret av dreamdev
Lenke til kommentar

$antallVegger er korrekt. $teller = 1 har jeg ikke fjernet, jeg endret på:

 

for($tell = 1; $tell <= $antallVegger; $tell++)

 

til

 

for($tell = 1; $tell < $antallVegger; $tell++)

 

.

 

Pga i ditt forslag så ble det en ekstra input (Bruker skriver 1, får 2. Bruker skriver 2, får 3. Bruker skriver 3, får 4.)

 

Vil du ha kildekoden for hele scriptet? Det er bare en index.php fil uten noen database atm.

 

Her: http://pastebin.com/jcuQ150T (Men det er vel ikke bruk for det, da det eneste som mangler i konteksten her er inputen som bestemmer $antallVegger.. men på pastebin ser du hvertfall at den er riktig).

 

Sjekk at verdiene du sender inn er korrekt. Den løkken skal bare gå én gang dersom brukeren skriver 1.

$tell = 1 må være der, ellers vil $tell kanskje starte på 0, og da vil den gå to ganger.

Lenke til kommentar

PHP driter i det. Scriptet er korrekt, det er trådstarteren som gjør noe galt, eller har misforstått noe.

 

Trådstarter: Echo verdien i variabelen $antallVegger før scritpet starter. Sjekk at det er korrekt, mistenker at den blir satt feil i forrige steg i prosessen.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...