KaDust Skrevet 24. september 2012 Del Skrevet 24. september 2012 Først off: Jeg er helt ny på php, har hatt det i 3 uker og forelesern er.... Vel, ikke særlig flink. Så til greia: Vi har en oppgave hvor vi skal gjøre om størrelser fra EU til US. Jeg har kodet ferdig (tror jeg) men dritten vil ikke fungere, og deler av koden kommer på siden. Hvaaa har jeg gjort galt, hvor er feilen? Sitter her helt fortumlet og forvirret, for klarer ikke finne en feil. html'en ser slik ut: <!DOCTYPE html> </html> <head> <meta charset="UTF-8" /> <title>SizeChart</title> </head> <body> <h1>Clothing sizes</h1> <form action="clothingchart.php" method="$_GET" > <ul>Men's Underwear <li>From EU to US: <input type="text" name="eu" > <input type="submit" value="send" ></li> </ul> </form> og php'en ser slik ut: <? php if(isset($_GET['eu'])) { $eu = $_GET['eu']; } else { $eu = ''; } $us = array (array(1, 'S'), array(2, 'M'), array(3,'L'), array(4,'XL'), array(5, 'XXL')); for($i = 0; $i < 5; $i++) { if($eu == $us[$i][0]) { echo "<p>EU: " . $us[$i][0] . "</p>"; echo "<p>UK: " . $us[$i][1] . "</p>"; } } echo "<br />"; ?> Også er selvsagt html'en avsluttet nederst. Så, hvor er den gigantiske feilen jeg garantert har gjort? Dere er forresten fri til å forklare meg og fortelle om andre løsninger som kanskje er greiere å bruke også. Størrelsene er dette forresten: EU 1 2 3 4 5 US s m l xl xxl Lenke til kommentar
DCG Skrevet 24. september 2012 Del Skrevet 24. september 2012 (endret) Kan det være så enkelt som mellomrommet mellom ? og php på toppen? <? php , skulle heller vært: <?php Edit: Du må forresten komme med litt mer detaljer, "dritten vil ikke fungere" og "deler av koden kommer på siden" er ikke så veldig beskrivende... Endret 24. september 2012 av DCG Lenke til kommentar
PureDarkness Skrevet 24. september 2012 Del Skrevet 24. september 2012 Gjør som DCG sier og fjern mellomrommet mellom <? php til <?php Videre kan du også inkludere en kopi av den koden som blir printet til siden. Får du noen feilmeldinger eventuelt? Lenke til kommentar
KaDust Skrevet 24. september 2012 Forfatter Del Skrevet 24. september 2012 Åja, herregud. Skal først sjekke om det fungerer nå. "Dritten vil ikke fungere" betyr at ingenting skrives ut på siden etter man har submitta størrelsen sin. Takk gud, nå fungerer alt som det skal. Og kodingen på siden er borte også. Takk! Det som ble printa ut på siden av kodingen var arrayen og deler av echoen. Men da var det bare ?php som var problemet tihi Lenke til kommentar
PureDarkness Skrevet 24. september 2012 Del Skrevet 24. september 2012 (endret) Åja, herregud. Skal først sjekke om det fungerer nå. "Dritten vil ikke fungere" betyr at ingenting skrives ut på siden etter man har submitta størrelsen sin. Takk gud, nå fungerer alt som det skal. Og kodingen på siden er borte også. Takk! Det som ble printa ut på siden av kodingen var arrayen og deler av echoen. Men da var det bare ?php som var problemet tihi Er ofte småting som er problemet, så alltid se for slike feil om det er problemer. Ofte er manglende komma, semikolon og slikt kilden til mange hodepiner. Endret 24. september 2012 av PureDarkness Lenke til kommentar
KaDust Skrevet 24. september 2012 Forfatter Del Skrevet 24. september 2012 (endret) Glem det! Endret 24. september 2012 av KaDust Lenke til kommentar
KaDust Skrevet 24. september 2012 Forfatter Del Skrevet 24. september 2012 (endret) . Endret 24. september 2012 av KaDust Lenke til kommentar
Crowly Skrevet 24. september 2012 Del Skrevet 24. september 2012 Når du skal loope igjennom en array så er foreach bedre egnet enn for. En foreach vil gå igjennom hver forekomst i array'en. Det er ikke nødvendig med en multi dimensjonal array, du kan klare deg med å lagre US som nøkkel, og EU som verdi, og da kan du droppe løkken (for/foreach) helt. $us = array(1=>'S', 2=>'M', 3=>'L', 4=>'XL', 5=>'XXL'); // uten løkke echo "<p>EU: " . $eu . "</p>"; echo "<p>UK: " . $us[$eu] . "</p>"; // med løkke foreach ($us as $key=>$value) { if ($eu == $key) { echo "<p>EU: " . $key . "</p>"; echo "<p>UK: " . $value . "</p>"; } } Lenke til kommentar
slacky Skrevet 25. september 2012 Del Skrevet 25. september 2012 if(isset($_GET['eu'])) { $eu = $_GET['eu']; } else { $eu = ''; } Jeg synes personlig det kan være greit å rydde i koden fra tid til annen. $eu = ($_GET['eu'] ? $_GET['eu'] : ""); Eller: if(isset($_GET['eu'])) $eu = $_GET['eu']; else $eu = ''; Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå