Avatar billede hades Praktikant
11. februar 2005 - 19:04 Der er 17 kommentarer og
1 løsning

Et lille php spørgsmål angående en menu

Hej Php eksperter.

Jeg vil gerne lave en lille menu på min hjemmeside. Vil gerne prøve at bruge php til at linke videre med i stedet for htmls
<a href="../files/nyheder.htm">Nyheder</a>

dvs. så det kommer til at hedde noget med domæne.dk/side=nyheder istedet for domæne.dk/nyheder.php.

Håber i kan hjælpe en php nybegynder.
Avatar billede jakobdo Ekspert
11. februar 2005 - 19:08 #1
Så kan du f.eks. lave:

switch($_GET['side'])
{
  case "nyheder":
    include("nyheder.php");
    break;
  case "forside":
    include("index.php");
    break;
  default:
    echo "Hej med dig, jeg er standard siden";
}
Avatar billede voyager_dfs Nybegynder
11. februar 2005 - 19:23 #2
<?php

switch($_GET['side'])
{
  case 'nyheder':
  case 'Profil':
  case 'info':
  case 'link':
  case 'pop':
    include($_GET['side'].'.php');
    break;
  default:
    include('start.php');
}
?>
Avatar billede haren Nybegynder
11. februar 2005 - 20:22 #3
Du kan enten gøre som jakobdo eller voyager_dfs, en tredje mulighed er at dinside.dk/?=nyheder henter filen nyheder.php - jeg har lige lavet en kode der gør det.

<?php
if(!empty($_GET['side'])) {
include("{$_GET['side']}.php");
} else {
echo "Den valgte side findes ikke";
}
?>
Avatar billede voyager_dfs Nybegynder
11. februar 2005 - 20:32 #4
ja men ved min kan en bruger ikke bare skrive fx www.hest.dk/?side=admin men minder admin er sat på listen, så hvis php filerne ligger i /trg/ad/con/ finder de den/dem ikke så let ;)

BN: include skal jo så laves om til
include('trg/ad/con/'.$_GET['side'].'.php');
Avatar billede jakobdo Ekspert
11. februar 2005 - 20:36 #5
(undskyld mit side spørgsmål, men...)
Hvad betyder: { og }
i linien:
include("{$_GET['side']}.php");??
Avatar billede haren Nybegynder
11. februar 2005 - 20:45 #6
Måske behøves det ikke men det virker som ".$_GET['side']." - :)
Avatar billede jakobdo Ekspert
11. februar 2005 - 20:47 #7
Hvorfor skriver man det så?
Er der noget DOC på det på php.net?
Har set det i nogle scripts, og synes det forvirre mere end gavner!
Avatar billede haren Nybegynder
11. februar 2005 - 20:47 #8
voyager_dfs -> Helt korrekt.

Men hvis det skal være disideret sikkert, skal man nok ty til andre ting.

www.hest.dk/?side=admin kunne man ikke skrive, men www.hest.dk/admin.php ville der ikke være nogle problemer med.
Avatar billede haren Nybegynder
11. februar 2005 - 20:50 #9
jakobdo, jeg mener at det måske er lige meget i denne sammenhæng.
(Jeg ville bare være sikker på ikke at få smidt en parseerror i hovedet)

Jeg synes dog det ser pænere ud med det:
".$_GET['goddag']." er jo det samme som {$_GET['goddag']}

Så er det smag og behag hvilken man vælger. Du kender jo mit valg.
Avatar billede voyager_dfs Nybegynder
11. februar 2005 - 20:53 #10
jo hvis du bruger den første include men burger du include('trg/ad/con/'.$_GET['side'].'.php');
istadetfor kommer addy'en til at hedde www.hest.dk/trg/ad/con/admin.php og da du ikke kan se php koden kan du som "hacker" kun gætte dig til stien ;)
Avatar billede haren Nybegynder
11. februar 2005 - 20:57 #11
Fik ikke lige læst " voyager_dfs 11/02-2005 20:32:47 "

Den sti ville jo også kunne bygges ind i mit.
Så slipper man for at skrive noget i filen, når man vi oprette en side.

Men dit er nok mest "sikkert" - Go' Weekend.
Avatar billede haren Nybegynder
11. februar 2005 - 21:00 #12
Har lige lavet en lille ændring.. :) Som går efter voyager_dfs princip.

<?php
if(file_exists("trg/ad/con/{$_GET['side']}.php)) {
include("trg/ad/con/{$_GET['side']}.php");
} else {
echo "Den valgte side findes desværre ikke";
}
?>
Avatar billede haren Nybegynder
11. februar 2005 - 21:00 #13
Fejl, manglede lige en "

<?php
if(file_exists("trg/ad/con/{$_GET['side']}.php")) {
include("trg/ad/con/{$_GET['side']}.php");
} else {
echo "Den valgte side findes desværre ikke";
}
?>
Avatar billede hades Praktikant
12. februar 2005 - 17:54 #14
Tak for de gode bud, jeg kan sagtens se ideen med switchene, men hvordan får jeg vist de enkelte links i min menu, så brugerne kan klikke på dem? I må også meget gerne lave nogle svar, så jeg kan give point.
Avatar billede voyager_dfs Nybegynder
12. februar 2005 - 19:02 #15
sådan :)

      <a href='?side=nyheder'>Nyhed</a>
      <a href='?side=profil'>profil</a>
      <a href='?side=info'>info</a>
      <a href='?side=link'>link</a>
      <a href='?side=pop'>pop</a>

<?php

switch($_GET['side'])
{
  case 'nyheder':
  case 'Profil':
  case 'info':
  case 'link':
  case 'pop':
    include($_GET['side'].'.php');
    break;
  default:
    include('start.php');
}
?>
Avatar billede hades Praktikant
12. februar 2005 - 20:02 #16
Ah det ser godt ud :-) Jeg har bare lige et sidste lille spørgsmål, hvis siderne man vil hente ligger i under ../filer/nyheder.php hvor sætter man så den linie ind?
Avatar billede hades Praktikant
12. februar 2005 - 20:57 #17
voyager_dfs har svaret på mit, det var bare mig som ikke læste ordentligt igennem. Jeg siger tusinde tak for hjælpen. Har fået det til at virke :-)
Avatar billede voyager_dfs Nybegynder
12. februar 2005 - 21:08 #18
okey det er jo godt nok :D
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

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