|
| "SWITCH" i PHP Fra : Jakob Løndal Hansen |
Dato : 11-05-03 15:32 |
|
Jeg er igang med en hjemmeside; til den skal jeg bruge SWITCH
funktionen i PHP...
Jeg har skrevet kilden, men siden "default" bliver ikke loadet
først (som default), men der i mod filen "hardware.php".
Vil i hjælpe mig med at finde fejlen i denne kode? :
[...]
</tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href=" http://www.xboxworld.dk">Start |
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=01'>Nyhedsarkiv</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=02'>Profil</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=03'>Kontakt Os</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=04'>XboxWorld Jobs</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=05'>Bliv Partner</a></span></td>
</tr>
<tr>
<td width="100%" bgcolor="#484848">
<span class="navigatorOverskriftText">
<img
src="images/main-images/navigator_picture.gif"
id="navigationPicture"> INFORMATION
</span>
</td>
</tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=06'>Xbox Faq</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=07'>Xbox
Specifikationer</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=08'>Hardware</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=09'>Spil</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=10'>Previews</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=11'>Anmeldelser</a></span></td>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=12'>Artikler</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=13'>Interviews</a></span></td>
</tr>
<tr>
<td width="100%" bgcolor="#484848">
<span class="navigatorOverskriftText">
<img
src="images/main-images/navigator_picture.gif"
id="navigationPicture"> XBOX LIVE
</span>
</td>
</tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=14'>Xbox Live Faq</a></span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=15'>Online-Enabled Spil</a></span></td>
</tr>
<tr>
<td width="100%" bgcolor="#484848">
<span class="navigatorOverskriftText">
<img
src="images/main-images/navigator_picture.gif"
id="navigationPicture"> INTERAKTIVITET
</span>
</td>
</tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href="http://www.xboxworld.dk/forum">Forum
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=16'>Afstemninger</a></span></td>
</tr>
<tr>
<td width="100%" bgcolor="#484848">
<span class="navigatorOverskriftText">
<img
src="images/main-images/navigator_picture.gif"
id="navigationPicture"> SITEADMINISTRATION
</span>
</td>
</tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: Log In</span></td></tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href='index.php?pageid=17'>Staff</a></span></td>
</tr>
<tr>
<td width="100%" bgcolor="#484848">
<span class="navigatorOverskriftText">
<img
src="images/main-images/navigator_picture.gif"
id="navigationPicture"> PARTNERE
</span>
</td>
</tr>
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href="http://WWW.PARTNER.DK">Partner.dk
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href="http://WWW.PARTNER.DK">Partner.dk
<tr><td bgcolor="#3A3A3A"
onmouseover="this.style.backgroundColor='#484848';"
onmouseout="this.style.backgroundColor='#3A3A3A';"><span
class="navigatorLinkText"> .:: <a
href="http://WWW.PARTNER.DK">Partner.dk
</tr>
[...]
<!-- START PHP SWITCH/CASE FUNCTION -->
<?
switch ($pageid) {
case 01:
include 'news/vis_nyhed.php';
break;
case 02:
include 'profil.php';
break;
case 03:
include 'kontakt_os.php';
break;
case 04:
include 'xboxworld_jobs.php';
break;
case 05:
include 'bliv_partner.php';
break;
case 06:
include 'xbox_faq.php';
break;
case 07:
include 'xbox_specifikationer.php';
break;
case 08:
include 'hardware.php';
break;
case 09:
include 'spil.php';
break;
case 10:
include 'previews.php';
break;
case 11:
include 'anmeldelser.php';
break;
case 12:
include 'artikler.php';
break;
case 13:
include 'interviews.php';
break;
case 14:
include 'xbox_live_faq.php';
break;
case 15:
include 'online_enabled_spil.php';
break;
case 16:
include 'afstemninger.php';
break;
case 17:
include 'staff.php';
break;
default:
include 'start.php';
break;
}
?>
<!-- END PHP SWITCH/CASE FUNCTION -->
[...]
På forhånd tak.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
|
Flemming Joensson (11-05-2003)
| Kommentar Fra : Flemming Joensson |
Dato : 11-05-03 16:27 |
|
Jakob Løndal Hansen <jlhxa@hotmail.com> wrote in
news:b9lmse$rd6$1@sunsite.dk:
> Jeg har skrevet kilden, men siden "default" bliver ikke loadet
> først (som default), men der i mod filen "hardware.php".
>
> switch ($pageid) {
Prøv med switch ($_GET['pageid']) { i stedet. Jeg kunne ikke lige overskue
at læse hele din PHP fil igennem, da der var et ordentlig læs HTML i
starten. Men jeg kunne dog se at du bruger en URL variabel til at bestemme
hvilken side der skal inkluderes.
Da du bruger register_globals on, (derfor du kan tilgå en GET variabel
direkte på dens navn), så vil du kunne risikere at du overskriver $pageid
inde i din kode.
Ved at bruge $_GET['pageid'] i stedet, så sikrer du dig mod dette problem
til en vis grænse - med $_GET direktivet, så er det nemlig helt sikkert den
pageid der står i din adresse som anvendes og ikke en $pageid nede i din
kode.
Prøv lige og lav "switch ($_GET['pageid']) {" og se hvad der så sker når du
kører siden. Hvis det virker, så bruger du nok $pageid flere steder og den
ene overskriver den anden.
Flemming
| |
Jakob Løndal Hansen (12-05-2003)
| Kommentar Fra : Jakob Løndal Hansen |
Dato : 12-05-03 14:20 |
|
Det lyder meget smart!
Da jeg er begynder i PHP, ville jeg være meget glad for et konkret eksempel..
Hvis jeg, fx, på hovedsiden (filen: "index.php"), vil kunne skifte mellem at
include filen: "hardware.php" og filen: "spil.php" hvodan vil koden, som skal
være på/som liket så se ud, og hvor skal jeg placerer den funktion du
tidligere viste?
På forhånd mange tak.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Kim Emax (12-05-2003)
| Kommentar Fra : Kim Emax |
Dato : 12-05-03 17:18 |
| | |
Flemming Joensson (12-05-2003)
| Kommentar Fra : Flemming Joensson |
Dato : 12-05-03 17:30 |
|
Jakob Løndal Hansen <jlhxa@hotmail.com> wrote in
news:b9o71u$ajj$1@sunsite.dk:
> Da jeg er begynder i PHP, ville jeg være meget glad for et konkret
> eksempel..
>
Du skriver bare din switch ligesom du gjorde før, den eneste forskel er at
der hvor du før brugte $pageid til at switche ud fra, så bruger du nu
$_GET['pageid'] - så burde det virke.
Flemming
| |
Jakob Løndal Hansen (12-05-2003)
| Kommentar Fra : Jakob Løndal Hansen |
Dato : 12-05-03 19:43 |
|
Nu har jeg benyttet $_GET['pageid'] men det virker stadig ikke, vil du være
flink at tage et kig på følgende, kan du se en fejl?
<?
switch ($_GET['pageid']) {
case 01:
include 'news/vis_nyhed.php';
break;
case 02:
include 'profil.php';
break;
case 03:
include 'kontakt_os.php';
break;
case 04:
include 'xboxworld_jobs.php';
break;
case 05:
include 'bliv_partner.php';
break;
case 06:
include 'xbox_faq.php';
break;
case 07:
include 'xbox_specifikationer.php';
break;
case 08:
include 'hardware.php';
break;
case 09:
include 'spil.php';
break;
case 10:
include 'previews.php';
break;
case 11:
include 'anmeldelser.php';
break;
case 12:
include 'artikler.php';
break;
case 13:
include 'interviews.php';
break;
case 14:
include 'xbox_live_faq.php';
break;
case 15:
include 'online_enabled_spil.php';
break;
case 16:
include 'afstemninger.php';
break;
case 17:
include 'staff.php';
break;
default:
include 'default.php';
break;
}
?>
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Kim Emax (12-05-2003)
| Kommentar Fra : Kim Emax |
Dato : 12-05-03 20:12 |
|
"Jakob Løndal Hansen" <jlhxa@hotmail.com> wrote in message
news:b9opuo$ch6$1@sunsite.dk...
> Nu har jeg benyttet $_GET['pageid'] men det virker stadig ikke, vil du
være
> flink at tage et kig på følgende, kan du se en fejl?
>
>
> <?
>
> switch ($_GET['pageid']) {
Hvad viser print $_GET['pageid']; ?
--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop
| |
Jakob Løndal Hansen (12-05-2003)
| Kommentar Fra : Jakob Løndal Hansen |
Dato : 12-05-03 21:12 |
|
Kim Emax wrote in dk.edb.internet.webdesign.serverside.php:
> "Jakob Løndal Hansen" <jlhxa@hotmail.com> wrote in message
> news:b9opuo$ch6$1@sunsite.dk...
> > Nu har jeg benyttet $_GET['pageid'] men det virker stadig ikke, vil du
> være
> > flink at tage et kig på følgende, kan du se en fejl?
> >
> >
> > <?
> >
> > switch ($_GET['pageid']) {
>
>
> Hvad viser print $_GET['pageid']; ?
- hvad mener du med "print" - det står der ingen steder! Når jeg loader
siden, bliver filen "hardware.php" vist istedet for "default.php".
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Kim Emax (12-05-2003)
| Kommentar Fra : Kim Emax |
Dato : 12-05-03 22:58 |
|
"Jakob Løndal Hansen" <jlhxa@hotmail.com> wrote
> > Hvad viser print $_GET['pageid']; ?
>
> - hvad mener du med "print" - det står der ingen steder! Når jeg loader
> siden, bliver filen "hardware.php" vist istedet for "default.php".
Hvad jeg mener? Du tager pis på mig, ik? Så du får den lige igen
http://www.dk.php.net/manual/en/function.print.php
Jeg, eller rettere, du vil vide, hvad der står i den variable, du tester
på... siden du rammer default, så er det fordi den ikke indeholder nogle af
de værdier, du tester for...
--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop
| |
Martin Sveegaard (12-05-2003)
| Kommentar Fra : Martin Sveegaard |
Dato : 12-05-03 21:58 |
|
On Mon, 12 May 2003 18:42:32 +0000 (UTC), Jakob Løndal Hansen
<jlhxa@hotmail.com> wrote:
> case 17:
> include 'staff.php';
> break;
> default:
> include 'default.php';
> break;
> }
>
> ?>
Jeg mener ikke du skal bruge break efter default, men hvorvidt det
hjælper på din kode.....?
MVH Martin S
| |
Kim Emax (12-05-2003)
| Kommentar Fra : Kim Emax |
Dato : 12-05-03 23:00 |
|
"Martin Sveegaard" <sveegaard@tdcadslFJERN:DETTE.dk> wrote
> Jeg mener ikke du skal bruge break efter default, men hvorvidt det
> hjælper på din kode.....?
Den er ikke nødvendig, men den har heller ikke det store indflydelse på, om
en test går godt længere oppe i løkken...
--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop
| |
Martin Sveegaard (12-05-2003)
| Kommentar Fra : Martin Sveegaard |
Dato : 12-05-03 23:16 |
|
On Tue, 13 May 2003 00:00:08 +0200, "Kim Emax"
<newsgroup@remove-emax.dk> wrote:
>> Jeg mener ikke du skal bruge break efter default, men hvorvidt det
>> hjælper på din kode.....?
>
>Den er ikke nødvendig, men den har heller ikke det store indflydelse på, om
>en test går godt længere oppe i løkken...
Nej, det har du selvfølgelig ret i. Hvis det ellers skal give nogen
mening, må den der $pageid=08, når det er den side den henter.
Venter spændt på resultatet af print.
MVH Martin S
| |
|
|