Avatar billede Slettet bruger
28. juli 2005 - 00:40 Der er 8 kommentarer og
1 løsning

include() system

Hej, jeg vil gerne have et include() system hvor jeg laver et link til f.eks: "?page=nyheder", men jeg kan ikke huske hvordan jeg skal lave koden, nogen der kan hjælpe mig?
på forhånd - tak!
Avatar billede flatov Nybegynder
28. juli 2005 - 00:46 #1
har et forsøg på en løsning

if (page == nyheder) {
include("nyheder.php");
) elseif (page == andenside) {
include("fil.php");
) else {
include("forside.php");
}

ved ik om det var sådan noget du ledte efter.
Avatar billede ksoren Nybegynder
28. juli 2005 - 00:49 #2
En anden måde

<?php
$pages = array(
    "nyheder" => "nyheder.php",
    "index" => "index.php",
    "hello" => "world.php"
);

$page = isset($_GET['page']) ? $_GET['page'] : "index";
$incpage = isset($pages[$page]) ? $pages[$page] : $pages['index'];
include $incpage;
?>
Avatar billede jesper-madsen Nybegynder
28. juli 2005 - 00:50 #3
<?php
$page = $_GET['page'];
if ($page == "" || !$page == "forside"){
include("nyheder");
} else {
$nySide = "$page.php";
include("$nySide");
}
?>


-- der vil den når man direkte kommer ind på siden, vise nyheder.php og hvis man fx. laver et link med:
<a href="?page=tagwall">TAGWALL</a>
- vil den vise "tagwall.php"

hvis du så laver fx.
<a href="?page=NOGET-her">NOGET-her</a>

- vil den vise "NOGET-her.php"
Avatar billede ksoren Nybegynder
28. juli 2005 - 01:03 #4
$nySide = "$page.php";
include("$nySide");

Den skal man måske passe lidt på. Hvis en fusker prøver sig med

page = "../secret/whatever";
page = "http://fuskersdomain/takeover";

specielt den sidste, hvis serveren tillader det, kan gøre stor skade
Avatar billede Slettet bruger
28. juli 2005 - 14:12 #5
Den absolut bedste metode er den, som ksoren viste 28/07-2005 00:49:15 da den ikke gør det muligt for skumle personer at inkludere uønskede ting, og da den er noget lettere at vedligeholde end flatovs forslag.
Avatar billede flatov Nybegynder
28. juli 2005 - 14:14 #6
Det har du skam nok ret i, er desværre heller ikke så meget inde i php, så det er kun dejligt at blive rettet og lære noget nyt :D

takker
Avatar billede Slettet bruger
28. juli 2005 - 14:22 #7
flatov:
Se det fra den lyse side. Din udgave er bare en smule mere bøvlet at tilføje nye sider i, men det er ikke et sikkerhedshul på størrelse med Grand Canyon.

Derudover var der et par syntaxfejl: Manglende $ foran page og manglende anførselstegn om nyheder og andenside.
Avatar billede flatov Nybegynder
28. juli 2005 - 15:26 #8
Ja okay, kan godt se der mangler lidt ting :D

Ellers tak du
Avatar billede jesper-madsen Nybegynder
28. juli 2005 - 16:01 #9
- tak for point.
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