Gå til innhold

PHP og include på en enkel side


Anbefalte innlegg

Hei!

 

Jeg ser litt på enkle oppsett av sider, og ser på f.eks denne her :

 

http://www.maxdesign.com.au/articles/css-layouts/one-fixed/#

 

Den ser veldig grei ut, men så tenkte jeg at det måtte være bedre å ha php include, så det ikke ble så mye nytt?

 

Men det er her problemet mitt kommer opp. Jeg kan ingenting om php eller websider generelt, ville bare ha en ryddig og grei side. Men sett at jeg vil ha kanskje 10 linker på toppen, hvordan gjør man det best med include, sånn at content blir nytt, men ikke det andre?

Lenke til kommentar
Videoannonse
Annonse

Vel, for å gjøre det veldig enkelt kan du jo bare skrive <?php include 'header.php'; ?> øverst i html filen (men du må kalle html filen ".php" og IKKE ".html").

 

Så lager du en fil som heter header.php i samme mappe og putter header greiene der.

 

Så kan du jo lage en footer også, helt nederst i filen din. <?php include 'footer.php'; ?>

 

En annen mulighet er å lage en fil som heter index.php hvor du includer både header, inneholdet og en footer :)

Altså, index.php:

<?php
include 'header.php';

$page = $_GET['page'];

switch($page) 
{
   case 'home':
   	include 'home.php';
   	break;
   case 'about':
   	include 'about.php';
   	break;
   default:
   	include 'main.php';
}
include 'footer.php'; 
?>

 

Da kan du gå inn på ulike sider slik:

index.php?page=home

index.php?page=about

index.php (vil gå til main.php)

Endret av Warz
Lenke til kommentar

<?php
if(isset($_GET['side'])) $side = $_GET['side']; else $side = "hovedsiden";
$mappe = "./MINE_SIDER/"; // endre den til navnet på mappen du har alle sidene i
$filendelse = ".php"; // filendelsen på filene du har i mappen over
$incfile = $mappe . $side . $filendelse;

if(file_exists($incfile)) {
include($incfile);
} else {
echo "404, siden finnes ikke";
}
?>

 

Dette blir da i index.php der du vil at hovedinnholdet på siden skal vises

 

EDIT: hvis du går for denne varianten blir da linkene www.minside.com/index.php?side=hovedsiden f.eks.. eller bare www.minside.com/?side=hovedsiden

Endret av YaNkEs
Lenke til kommentar
require_once "header.php";

$page   = $_GET['x'];
$flevel = "pages/";

if ($page != "") {
  $open = $page; //URL: EnSide.no?x=news
} else {
  $open = "index"; //Altså index.php i mappen pages
}

if (!file_exists($flevel."".$open.".php")) { 
    include $flevel."index.php";  
} else {
    include $flevel."".$open.".php"; 
}

require_once "footer.php";

Endret av tROOP4H
Lenke til kommentar

Tusen takk for svar,

 

Etter som jeg prøvde meg videre, forstår jeg at jeg egentlig bare vil ha inkludert en navigasjonsbar på toppen av siden, for alle sidene i navigasjonsbaren.

 

det jeg gjorde så, var:

 

lagde en mappe (css) med nav.css

lagde en nav.php;

<ul id="list-nav">
<li><a href"home.php">Home</a></li>
<li><a href"test2.php">test2</a></li>
<li><a href"test3.php">test3</a></li>
<li><a href"test4.php">test4</a></li>
<li><a href"http:\\www.sol.no">Other</a></li>
</ul>

Og så lagde jeg en index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="css/nav.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php include_once('nav.inc.php'); ?>	
</body>
</html>

 

Det som er problemet for meg nå, er at når jeg lager test2.php, og legger inn noe annen tekst der etter include-funksjonen, så får jeg ikke kommet til linken. altså uanset hva jeg klikker på av linker, bare viser den samme navigasjonsbaren...

 

Jeg trodde jeg hadde tenkt "rett", men er det noen som ser hvor jeg har feilet?

Lenke til kommentar

sweet JohnDoe.. Den la jeg ikke merke til! Til tross for at de ikke kommer seg så veldig langt med den der.. Såa KAN det føre til sikkerhetsrisiko ved større systemer (=

 

Takker for tipset, la ikke merke til det. Og har selv benyttet meg av en ligende variant på et par systemer :b

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...