auf zur Runde 2
Ich hab die Seite jetzt zerlegt, und lass u.A. Navigation und den Inhalt selbst durch include in meine index.php laden.
Ich vesuche es zumindest, aber es klappt nicht. :/
Wie gesagt, ich bin mit php noch nicht so gut vertraut. Deswegen wundert euch nicht wenn meine Herangehensweisen völlig unüblich sind.
index.php:
- Code: Alles auswählen
<?php $site = $_GET["site"]; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
(...)
<link href="baesslerdesign.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
</div>
<div id="container">
<div id="navigation">
<ul>
<?php include("navi.php") ?>
</ul>
</div>
<div id="content">
<?php
$site_pos = array("news", "profil", "galerie", "musik", "kontakt", "impressum");
if(in_array ($site , $site_pos)){
include("site.php");
}elseif(isset($site) == false or $site == ""){
include("news.php");
}else{
include("profil.php");} ?>
</div>
<div id="footer">
<span>Gestaltung von Philipp Bäßler ©2011</span><a href="index.php?site=impressum">Impressum</a>
</div>
</div>
</body>
</html>
navi.php:
- Code: Alles auswählen
<?php
$nav = array(
"<li><a href=\"index.php?site=news\">Start</a></li>\n",
"<li><a href=\"index.php?site=profil\">Profil</a></li>\n",
"<li><a href=\"index.php?site=galerie\">Galerie</a></li>\n",
"<li><a href=\"index.php?site=musik\">Musik</a></li>\n",
"<li><a href=\"index.php?site=kontakt\">Kontakt</a></li>\n"
);
switch($site){
case("news"): echo"
<li><span>Start</span></li>\n
$nav[2]$nav[3]$nav[4]$nav[5]";
break;
case("profil"): echo"
$nav[1]
<li><span>Profil</span></li>\n
$nav[3]$nav[4]$nav[5]";
break;
case("galerie"): echo"
$nav[1]$nav[2]
<li><span>Galerie</span></li>\n
$nav[4]$nav[5]";
break;
case("musik"): echo"
$nav[1]$nav[2]$nav[3]
<li><span>Musik</span></li>
$nav[5]";
break;
case("kontakt"): echo"
$nav[1]$nav[2]$nav[3]$nav[4]
<li><span>Kontakt</span></li>";
break;}
?>
Mein Ziel ist es, dass die navi.php in die index.php geladen wird und beispielsweise folgenden Codeschnipsel darstellt:
(in dem Fall wäre man auf der Seite 'Kontakt', also $site=kontakt)
- Code: Alles auswählen
<div id="navigation">
<ul>
<li><a href=\"index.php?site=news\">Start</a></li>
<li><a href=\"index.php?site=profil\">Profil</a></li>
<li><a href=\"index.php?site=galerie\">Galerie</a></li>
<li><a href=\"index.php?site=musik\">Musik</a></li>
<li><span>Kontakt</span></li>
</ul>
</div>
Aber es wird nichts angezeigt. Nach meinem Verständnis wird die 'finale' index.php doch auf dem Server zusammengestellt, also die ganzen mit include zu ladenden Datein reingeschrieben, und als Paket dann zum Nutzer in den Browser geschickt. Somit reicht es dann auch, die CSS Datei nur einmal zu laden, ebenso wie es reichen müsste, $site = $_GET["site"]; einmal am Anfang der index.php zu schreiben, weil doch navi.php und der Rest dann in der index.php stehen und auf das zugreifen können, oder? :D
Was mach ich falsch?
und kann man das so überhaupt verwirklichen?