Avatar billede ch2 Nybegynder
14. januar 2004 - 12:02 Der er 4 kommentarer og
2 løsninger

loade indhold på forsiden automatisk

I et tidligere indlæg skrev jeg følgende:

Hej jeg har et problem som jeg ikke rigtig kan få løst og som jeg håber nogen her på eksperten kan hjælpe med.

Jeg har et grunddesign hvorfra jeg vil loade forskellige undersider. Det vil sige at når man klikker på eksempelvis linket "kontakt" skal den i en tabel nedenunder loade denne side.

Jeg ved godt at man kan bruge indclude(), men problemet er så at den så loader flere sider. Jeg kunne forestille mig det skulle fungere ligesom med frames. jeg tror man måske skal bruge noget med variabler, men jeg er rimelig ny i php så jeg ved ikke hvordan jeg rent praktisk gør....håber i gør!

og fik følgende svar:

Du laver en index.php med alt dit html undtagen det der skal skuftes ud, Der hvor du skifter det ud laver du så en:
<?php include("UrlTilUnderSider/$_GET[side].html"); ?>

Så laver du eksempelvis et link til kontakter som http://www.side.dk/index.php?side=kontakter
Så skal der selvfølgeligt ligge en fil der heder kontatker.html i "UrlTilUnderSider"
men så includere den siden der hvor du vil have den.

Det virkede lige som jeg ville have det, men mit spørgsmål er nu, hvordan får jeg sat en default side der hvor include funktionen er sat ind, det skal gerne være sådan at når man kommer ind på indexsiden at den altid loader min nyhedsside. Håber der er nogen der kan hjælpe
Avatar billede peleiden Nybegynder
14. januar 2004 - 12:09 #1
<?
if ($_GET[side] == '' ||  $_GET[side] == 'nyheder'){
  include("UrlTilUnderSider/nyheder.html");

}

?>
Avatar billede ch2 Nybegynder
14. januar 2004 - 12:16 #2
hmmm, jo nu viser den noget på forsiden, men problemet er bare at når jeg nu klikker på linksene så viser den ingenting....
Avatar billede xyborx Nybegynder
14. januar 2004 - 12:32 #3
switch(isset($_GET['side'])?$_GET['side']:'')
{
    case 'side1': include('UrlTilUnderSider/side1.html'); break;
    case 'side2': include('UrlTilUnderSider/side2.html'); break;
    case 'side3': include('UrlTilUnderSider/side3.html'); break;
    default: include('UrlTilUnderSider/nyheder.html'); break;
}

Sådan, evt? :)
Avatar billede peleiden Nybegynder
14. januar 2004 - 12:33 #4
du skal sætte de andre ind i iffen!

if ($_GET[side] == '' ||  $_GET[side] == 'nyheder'){
  include("UrlTilUnderSider/nyheder.html");

}else{
  include("UrlTilUnderSider/$_GET[side].html");
}
Avatar billede ch2 Nybegynder
14. januar 2004 - 12:38 #5
tak for det det var kun lige den else funktion der skulle til!
Avatar billede xyborx Nybegynder
14. januar 2004 - 12:42 #6
switch-case egner sig nu bedre til den slags opgaver. Den er både mere effektiv (hurtigere) og mere overskuelig i længden.
http://www.php.net/manual/en/control-structures.switch.php

Iøvrigt giver du brugeren adgang til at se enhver .html fil han/hun har lyst til, ved at bruge  include("UrlTilUnderSider/$_GET[side].html");
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