03. februar 2005 - 21:43
Der er
11 kommentarer og 1 løsning
Switch på localhost
Hej! Mit problem er kort og træls: jeg kan ikke få switch til at virke på min maskine. Der er PHP 4.3.8 og Apache 1.3.31 installeret. Kan I hjælpe mig?
Annonceindlæg fra GlobalConnect
03. februar 2005 - 21:50
#1
Switch som i kontrolstrukturen switch (<variabel>) { case <værdi_1>: ... case <værdi_2>: ... case <værdi_n>: ... default: ... }
03. februar 2005 - 21:52
#2
switch (<variabel>) { case <værdi_1>: ... // Ingen break, fall-through kør også næste blok kode case <værdi_2>: ... break; case <værdi_n>: ... break; default: ... }
03. februar 2005 - 21:56
#3
Er lidt forvirret, skal jeg ikke bruge break?
03. februar 2005 - 22:03
#5
God idé at læse rasmusbg's link :) Men jo, du skal bruge break hvis du ikke vil have at den næste blok kode skal køres også! $x = 1; switch ( $x ) { case 1: echo "Det er 1"; case 2: echo "Det er 2 ...måske ;)"; break; case 3: echo "Det er 3"; default: echo "Alt for højt tal..."; }
03. februar 2005 - 22:04
#6
Jeg synes rasmusbg skal svare på denne :)
03. februar 2005 - 22:07
#7
Men her er en lille detalje, når jeg uploader det samme til mit domæne, virker det fint. Den kommer ikke med nogen fejlmelding, men når man kalder de forskellige cases sker der intet, selvom den fint læser hvad der står under default.
03. februar 2005 - 22:09
#8
kan du ikke smide et udsnit af din kode, hvor du har switch'en med?
03. februar 2005 - 22:12
#9
Jo, sagtens: <?php switch ($site){ case "about":{ echo "<h1>About</h1>"; echo "<br /><div>Information about one self</div>"; } break; case "info":{ echo "<h1>Information</h1>"; echo "<br /><div>Information about the website and it's owner(s)</div>"; } break; case "contact":{ echo "<h1>Contact</h1>"; echo "<div>Humbla humbla blah.</div>"; } break; default:{ echo "<h1>Welcome</h1>"; }} echo "<a href=?site=about>About</a>"; echo " <a href=?site=info>Information</a>"; echo " <a href=?site=default>Front</a>"; ?>
03. februar 2005 - 22:16
#10
Ohhh...det er pga. register_globals er off på din egen maskine, og de er on på serveren, der hoster dit domæne. Hvis du vil have det til at virke begge steder skal det være: <?php switch ($_GET['site']){ case "about":{ echo "<h1>About</h1>"; echo "<br /><div>Information about one self</div>"; } break; case "info":{ echo "<h1>Information</h1>"; echo "<br /><div>Information about the website and it's owner(s)</div>"; } break; case "contact":{ echo "<h1>Contact</h1>"; echo "<div>Humbla humbla blah.</div>"; } break; default:{ echo "<h1>Welcome</h1>"; }} echo "<a href=?site=about>About</a>"; echo " <a href=?site=info>Information</a>"; echo " <a href=?site=default>Front</a>"; ?>
03. februar 2005 - 22:20
#11
Tak, det var det der skulle til. Så hvis du sender et svar af en art, kan jeg få afsat pointene.
03. februar 2005 - 22:21
#12
Det kom her =)
Vi tilbyder markedets bedste kurser inden for webudvikling