Gå til innhold

[Løst] Kan noen finne feilen? Sett meg blind.


Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet (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 av DCG
Skrevet

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?

Skrevet

Å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

Skrevet (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 av PureDarkness
Skrevet

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>";
 }
}

Skrevet

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 = '';

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...