webForumDet fria alternativet

Nybörjarfråga - Hur gör ex.vis så att index.php?sida=nyheter visar en viss include?

PHP

2 svar · 584 visningar · startad av David N

Medlem sedan nov. 200224 inlägg
Frågan#1

Hej,

Ja, jag tyckte det var lite svårt att formulera en kort topic om problemet och istället tror jag att jag fick med hela problemet i topicen. Det här låter kanske lite flummigt och ospecifikt, men jag sitter och bygger upp en sida i php för ett universitetsprojekt som ska vara inne på fredag. Det kommer bara vara en prototyp, men jag vill åtminstonde bygga upp en flexibel layout som jobbar mycket med includes och dylikt så att det blir enkelt och användarvänligt att ändra senare.

För att inte få för mycket stök och onödiga filer vill jag därför kunna åstadkomma det jag skrev ovan, dvs. kunna länka till specifika includes (eller hur det nu är det egentligen funkar) via index.php?sida=nyheter (om nyheter.php ligger i en undermapp som heter includes) för att ta ett exempel. Hoppas att jag gör mig förstådd, och om jag nu gör det, hur löser jag detta?

Tacksam för svar.

MVH,
David Nilsson

Medlem sedan dec. 19996 592 inlägg
#2

Principen:

<?php
$folder = 'inc/';
$ext = '.inc.php';

if(isset($_GET['id'])) {
//Här borde man kontrollera att $_GET['id'] inte innehåller något otrevligt.

	if(file_exists($folder . $_GET['id'] . $ext)) {
	include ($folder . $_GET['id'] . $ext);
	}
	else {
	echo 'Filen ' . $_GET['id'] . $ext . ' existerar inte i mappen ' . $folder;
	}
}
else {
include ($folder . 'index' . $ext);	
}
?>
<p><a href="?id=nyheter">nyheter</a></p>
Medlem sedan nov. 200224 inlägg
#3

Tusen tack, det där verkar fungera finfint.

247 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)