Avatar billede laustdeleuran Nybegynder
27. maj 2005 - 18:52 Der er 3 kommentarer og
2 løsninger

fil.php?mode= problem

Hej guys & girls.
jeg har et lille problem som jeg tænkte at i måske kunne hjælpe med. Idéen er at jeg gerne vil lave en menu a la den på http://wienervej.dk . Den fungerer hved hjælp af if (mode = ) sætninger med en index.php?mode= på linksene. Men jeg kan sq ikke få det til at virke i det her nye projekt. Måske er det en PHP-version ting. Min kode ser pt. således ud:

// PHP Menu Start
//$mode = $_POST[mode];
$mode = 0;
if ($mode == 0) {
echo "Velkommen<br />
            <a href=\"?mode=1\" target=\"_top\">Modul 1</a><br />
            <a href=\"?mode=2\" target=\"_top\">Modul 2</a><br />
            <a href=\"?mode=3\" target=\"_top\">Modul 3</a><br />
            <a href=\"?mode=4\" target=\"_top\">Modul 4</a><br />
            <a href=\"?mode=5\" target=\"_top\">Modul 5</a><br />
            ";
}

if ($mode == 1) {
echo "<a href=\"?mode=0\" target=\"_top\">Velkommen</a><br />
            Modul 1<br />
            <a href=\"?mode=2\" target=\"_top\">Modul 2</a><br />
            <a href=\"?mode=3\" target=\"_top\">Modul 3</a><br />
            <a href=\"?mode=4\" target=\"_top\">Modul 4</a><br />
            <a href=\"?mode=5\" target=\"_top\">Modul 5</a><br />
            ";
}
//OSV...
//PHP Menu End

Idéen er at menuen skal være "interaktiv" så den retter sig efter hvor brugeren er på sitet. Den retter sig skam også efter hvad variablen $mode er sat til, men den ændrer sig ikke en skid når man klikker på linksene. Jeg tror at problemet ligger i at ?mode= ikke ændrer variablen ordentligt. Men jeg kan sq ikke forstå det.
Jeg har prøvet lidt med forskellige ting såsom $mode = $_POST[mode]; og //$mode = $_POST["mode"]; , men så fejler den bare. Sitet kan findes på http://www.legacy-of-the-ancients.com/LUC/ .
Hvad er det der går galt og hvad faen skal man gøre for at få det til at virke??
Jeg glæder mig til at høre fra jer.

Mvh. Laust Deleuran
--      laust@wienervej.dk      --
-- MSN: laustdeleuran@hotmail.com --
Avatar billede Slettet bruger
27. maj 2005 - 19:51 #1
Når du skriver variablerne i en querystring, er det GET du skal bruge :)

så $mode = $_GET['mode']; burde virke.

--
pacroon
Avatar billede hmortensen Nybegynder
27. maj 2005 - 19:52 #2
Variabler fra adresse baren er $_GET og ikke $_POST variabler.
Avatar billede laustdeleuran Nybegynder
27. maj 2005 - 20:20 #3
Ja, det virker både med $_GET["mode"] og $_REQUEST["mode"] MEN MEN MEN:
Men problemet er bare nu at nu får jeg følgende fejl

Notice: Undefined index: mode in z:\site_menu.php on line 6

når der ikke er defineret nogen ?mode= dvs. at når brugere åbner siden med bare http://www.legacy-of-the-ancients.com/LUC så fucker den. Jeg er altså nød til at definere en mode. Er der ikke nogen måde hvorpå jeg kan definere en midlertidig mode eller en default når siden loades?

Mvh.

Laust Deleuran
Avatar billede hmortensen Nybegynder
27. maj 2005 - 20:23 #4
Du skal lige lave et tjek på om den er sat.
Det klares sådan her:
$mode = (isset($_GET['mode'])) ? $_GET['mode'] : 0;
Avatar billede laustdeleuran Nybegynder
27. maj 2005 - 20:24 #5
GR8, det virker super...THX! det var super med så prompte hjælp...
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