Ups... det skulle selvfølgelig have været index.php?=home :/
hvis du har et link som index.php?side=home vil du på index.php have en variabel med navnet $_GET['side'] som indeholder værdien 'home'
så kan du eventuelt bruge include($_GET['side'] .".php"); i din index.php fil. Du skal dog lave nogle checks med om brugeren rent faktiskt har lov til at se den side.
f.eks lave en array med de sider brugeren må se, og så checke om værdien af $_GET['side'] findes i den array.
Du kan også lave en switch case, som tager $side og finder ud af hvilken side den skal finde vise. På den måde kan du altid lave en 404-side som default-værdi. (eksemplet skal bruges sammen med teaspoons forslag)!
er det ikke lidt nemmere med en array
$array = array(
"home" => "index.php",
"bla" => "side.php" // etc.
);
if ($side = $array[$_GET['side']]) {
include($side);
} else {
// 404
}
jeg plejer dog selv at bruge metoden med at include en fil øverst på hver side. Ser efter min mening lidt pænere ud, og så slipper man også for det her besvær :)
Har faktisk aldrig set din metode før teaspoon, men det jo, det ser ret smart ud! :o) Om det er bedre ved jeg ikke, men det fylder ihvertfald mindre end min metode, hvis der f.eks. er 80 undersider *GG* Husker lige din metode til en anden gang!
jeg plejer dog selv at bruge metoden med at include en fil øverst på hver side. Ser efter min mening lidt pænere ud, og så slipper man også for det her besvær :) <--- kan du ikke lige prøve at uddybe det ?
Da "array" vist er et reserveret navn, skal man selvfølgelig nok kalde arrayet noget andet da man ellers risikerer nogle sjove fejl...
>> <--- kan du ikke lige prøve at uddybe det ?
det ka jeg da gøre...
her er en tilfældig side fra din hp:
<?php $titel = "blabla"; include("top.inc"); ?>
noget tekst eller andet
<?php include("bund.inc"); ?>
her er top.inc
<HTML>
<HEAD>
<TITLE><?PHP echo $titel; ?></TITLE>
</HEAD>
</BODY>
og Bund.inc
<TABLE ALIGN="center">
<TR>
<TD>
copyright 2002(c) by blabla A/S
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Så det er for besværligt at bruge det til f.eks. sidenavigation? Men det er vel nyttigt, til f.eks. at bestemme hvor mange news der skal vises på en side?
Hej tumpez
Vil give det et forsøg her...er selv ret ny indenfor php :0)
Du har en "index.php" side som du benytter som skabelon/template for hele din webside.
På denne index.php har du nogle elementer som f.eks. en top/header, en indhold/content og en navigation
I din content smider du et php script som inkluderer de sider der kaldes fra navigationen:
<?
if(isset($_GET['id'])){
include($_GET['id'].'.php');
}
else{
include "dinstartside.php";
}
?>
som vist heroven for.
Når du så i din navigation kalder en phpside som du ønsker skal ende i dit content område ser linket sådan ud: <a href="index.php?id=kontakt">KONTAKT</a>
Det der sker er at din navigation kalder en side der hedder "kontakt.php" ved hjælp af server side include med "id" og grundet scriptet vi før smed i content vil dette script vide at den nu skal inkludere "kontakt.php" i content.
Kan denne fil derimod ikke findes vil den vise "dinstartside.php" istedet.
Håber dette har givet lidt mening, det var i al fald sådan jeg lærte lidt om at inkludere ved hjælp af SSI og switch-metoden.
/Sabumnim
Hej tumpez
Kom du nogen sinde videre med dette?
//Carsten