Avatar billede allandk Nybegynder
19. januar 2003 - 13:51 Der er 15 kommentarer og
1 løsning

Kan jeg skjule min ...index.php?vars=bla&sidemenu=1 el 2 el 3

Jeg har en side, hvor jeg kalder forskellige sidemenuer afhængigt af content-siden. Som det er nu kalder jeg det hele samlet, altså både content-side og sidemenu, fx:
http://../index.php?mail=formular&sidemenu=menuformular, men åbner jo for at man selv kan kombinere efter ens humør, fx:
http://../index.php?mail=formular&sidemenu=menukalender

Derfor vil jeg gerne undgå, at den sidste variabel ...&sidemenu=menuformular kommer med. Kan jeg det?

Nogle forslag til, hvordan jeg kan gøre det?
Avatar billede sukos Juniormester
19. januar 2003 - 13:56 #1
med sessions, var da en mulighed

Altså du spørger om isset($_GET['var']), og er den registrerer du en session


og laver en header.

Og så spørger om session er sat, og hvis den er det, så vis det og ellers hvis noget andet
Avatar billede snigermunken Nybegynder
19. januar 2003 - 13:57 #2
http://mbn.dk/Apache/mod_rewrite/

eller bruge en session eller cookie til $sidemenu
Avatar billede allandk Nybegynder
19. januar 2003 - 14:07 #3
>> sukos: jeg har prøvet med sessions, men jeg kan ikke finde uaf at sætte den i selve linket. jeg har prøvet med denne:

session_start();
print session_encode()."<br>"; 
session_register("sidemenu");
echo "sidemenu = \$_SESSION ".$_SESSION['sidemenu'];

I mit link skriver jeg så <a href=...sidemenu=formular>, men jeg kan ikke flette variablen ind. Har du et tip?

>> snigermunken: det er ikke en dén løsning jeg vil ha', man må gerne se url'en - det spiller ingen trille, men det er kun lige dén specifikke sidemenu-variabel jeg ikke vil ha' at nogle finder på at ændre i.
Avatar billede allandk Nybegynder
19. januar 2003 - 19:19 #4
Jeg lukke dette spørgsmål og oprettet et der er mere entydigt formuleret.

Tak for forslag.
Avatar billede snigermunken Nybegynder
19. januar 2003 - 19:21 #5
hov sorry, glemte spm....

skal vi prøve igen :)

Hvad bestemmer hvilken menu du skal bruge?
Avatar billede allandk Nybegynder
19. januar 2003 - 19:38 #6
Jeg kalder via dette link:

http://../index.php?mail=formular&sidemenu=menuformular

?mail=formular kalder en formularside og
&sidemenu=menuformular kalder den specifikke formularmenu

Det køres igennem denne:

$sidemenu = $HTTP_GET_VARS["sidemenu"];

if (file_exists("system/".$sidemenu.".php"))   
    {
    include ("system/".$sidemenu.".php");
    }
else
    {
    include ("system/menusplash.php");
    }

Virker det klart?
Avatar billede snigermunken Nybegynder
19. januar 2003 - 19:50 #7
ok... kom til at tænke på i stedet for du bruger en variabel til at bestemme hvilken menu du skal bruge, er det så ikke lettere med $php_self og en if sætning?
Avatar billede snigermunken Nybegynder
19. januar 2003 - 19:57 #8
glemte at sige:

Og så helt fjerne &sidemenu=menuformular delen i url'en.
Avatar billede allandk Nybegynder
19. januar 2003 - 20:22 #9
Det er lige dét jeg ikke kan finde ud af. Det var måske bare ikke så klart formuleret ;-)
Avatar billede snigermunken Nybegynder
19. januar 2003 - 20:29 #10
hehe ok tror bare det mig der lidt langsom idag :)

i din eksembel url siger du index.php?mail=blalalala

skal jeg tolke den som alle dine sider ligger i index.php, eller har du flere sider, index.php mail.php ost.php osv?
Avatar billede allandk Nybegynder
19. januar 2003 - 20:34 #11
De kaldes alle via index.php
Avatar billede snigermunken Nybegynder
19. januar 2003 - 20:41 #12
ok men så er det jo bare at lave en ifsætning i stil med:

if($bla){
en menu
} elseif ($blala){
en anden menu
}


også videre

$bla og $blala er så de variabler du bruger til at hente siden med... håber du forstå min hurtige forklaring.
Avatar billede allandk Nybegynder
19. januar 2003 - 20:45 #13
Jo jo, men dét jeg ikke forstår det er, hvad jeg helt specifikt skal skrive i mit link.

Jeg lige nu skriver jeg jo:

Link 1 = <a href=index.php?fil=eksempel1&sidemenu=eksempel1>,
Link 2 = <a href=index.php?fil=eksempel2&sidemenu=eksempel2>,
Link 3 = <a href=index.php?fil=eksempel3&sidemenu=eksempel3>,

Og så kommer variablen automatisk med i asdresselinjen. Jeg ved ikke, hvoir jeg ellers skal sætte den...
Avatar billede snigermunken Nybegynder
19. januar 2003 - 20:51 #14
jeg ville gøre sådan:

link 1 = index.php?side=1
link 2 = index.php?side=2
link 3 = index.php?side=3
link 4 = index.php?side=4

så siger vi side 1 og 3 bruger samme menu

<?
if(($side=="1") || ($side=="3")){
include "menu1.php";
} elseif ($side=="2"){
include "menu2.php";
} elseif ($side=="4"){
include "menu3.php";
}

eventuelt slutte den af med en standart menu:

else {
include "standartmenu.php";
}

giver det mere menig?
Avatar billede allandk Nybegynder
19. januar 2003 - 21:05 #15
Næ, ikke mere end det gør længere oppe, hvor jeg bruger stort set samme if/else.

Jeg siger tak for hjælpen denne gang. Jeg må prøve, at bikse lidt mere mine sessions og se, om jeg kan redde mig ud af problemet den vej.

Jeg kan lige oprette et spørgsmål til dig som tak for din ulejlighed.

Tak for nu :-)

ab:)
Avatar billede snigermunken Nybegynder
19. januar 2003 - 21:09 #16
forskellen på din og min er at du skal skrive virker menu den includer i url'en, i min skrive du kun hvilken side du henter i url'en, hvilken menu der bliver valgt står direkte i if sætningen.

så på den måde er &sidemenu=eksempel1 fjernet fra url'en.
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