Avatar billede kriax Nybegynder
06. marts 2008 - 12:28 Der er 9 kommentarer og
1 løsning

Hjælp til if funktion

Hej

Jeg er i gang med at lave en side hvor man kan rette oplysninger fra en database og er stødt ind i problemer med at bruge "Å" i en IF funktion.

Koden ser således ud:

if ($offentlig=='Åben')
    echo "<input type='radio' name='offentlig' value='&Aring;ben' checked /><input type='radio' name='offentlig' value='Lukket' />;

elseif ($offentlig=="Lukket")
    echo "<input type='radio' name='offentlig' value='&Aring;ben' /><input type='radio' name='offentlig' value='Lukket' checked />;
else
    echo "<input type='radio' name='offentlig' value='&Aring;ben' /><br><input type='radio' name='offentlig' value='Lukket' />;

Meningen er at hvis "$offentlig=='&Aring;ben'" så skal radio knappen med værdien '&Aring;ben' være aktiveret.

Mit problem er at if funktionen ikke helt kan finde ud af det Å jeg har skerevet (&Aring;).

Hvis jeg laver et echo på "$offentlig" er reultatet "Åben" (&Aring;ben), men hvis jeg så skriver "$offentlig=='&Aring;ben'" i IF funktionen, kan den ikke se at det er det samme.

Hvad gør jeg galt?
Avatar billede fant0mas Nybegynder
06. marts 2008 - 12:52 #1
Hvorfor ikke sætte $offentlig til 0/1 ?
Avatar billede zurekk Nybegynder
06. marts 2008 - 14:02 #2
Som fant0mas siger, brug 0/1, eller true/false.
Avatar billede pidgeot Nybegynder
06. marts 2008 - 14:21 #3
Grunden til at du får fejlen er sandsynligvis at den er Åben, og ikke &Aring;ben - hvilket faktisk er korrekt opførsel, da entities ikke bør bruges til tegn der direkte kan udtrykkes i det anvendte tegnsæt...

...men ja, brug 0/1 el. true/false, det gør det nemmere!
Avatar billede kriax Nybegynder
06. marts 2008 - 15:03 #4
Er stadig ret ny hvad angår php så hvad menes der med 0/1 true/false?
Avatar billede fant0mas Nybegynder
06. marts 2008 - 15:26 #5
At du bør udskifte åben/lukket med tal værdierne 1/0. Så dvs at du må ændre datatypen på dit felt i databasen, hvis det altså er der du henter din data fra.
Avatar billede kjeldsted Novice
06. marts 2008 - 18:33 #6
Udover ovenstående forlsag bør du også sætte '{' og '}' mellem dine if/elseif/else statements, så koden vil se sådan ud (incl. ovenstående forslag):

if ($offentlig=='1')
  {
  echo "<input type='radio' name='offentlig' value='&Aring;ben' checked /><input type='radio' name='offentlig' value='Lukket' />;
  }
elseif ($offentlig=="0")
  {
  echo "<input type='radio' name='offentlig' value='&Aring;ben' /><input type='radio' name='offentlig' value='Lukket' checked />;
  }
else
  {
  echo "<input type='radio' name='offentlig' value='&Aring;ben' /><br><input type='radio' name='offentlig' value='Lukket' />;
  }

Håber det hjalp.
Avatar billede fant0mas Nybegynder
06. marts 2008 - 18:47 #7
Du mangle vist lige noget keldsted.

Rettelse:
<?
if ($offentlig=='1')  {
  echo "<input type='radio' name='offentlig' value='1' checked='checked'><input type='radio' name='offentlig' value='0' />";
  }elseif ($offentlig=="0"){
  echo "<input type='radio' name='offentlig' value='1'><input type='radio' name='offentlig' value='0' checked='checked'>";
  }else{
  echo "<input type='radio' name='offentlig' value='1'><br><input type='radio' name='offentlig' value='0' />";
}
?>
Avatar billede fant0mas Nybegynder
06. marts 2008 - 18:51 #8
kjeldsted: Desuden synes jeg du skal give kriax    en chance for selv at lave det. Der er faktisk nogle som ikke bare vil have det serveret.
Avatar billede kjeldsted Novice
06. marts 2008 - 19:16 #9
Undskyld, undskyld. Tror bare jeg har vænnet mig til folk der nærmest bliver sure hvis ikke man skriver koden for dem. Men skal da virkelig beklage hvis jeg har generet nogen.
Avatar billede kriax Nybegynder
16. december 2009 - 22:50 #10
Lukker
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