PHP dateien ins Grundlayout includen

Denniz

Erfahrenes Mitglied
Hallo Leute,
ich baue eine Page die folgendes Design hat: http://www.schrottplatz.pytalhost.com/test/layout.gif
Wie ihr seht gibt es dort zwei div Bereiche in denen der entsprechende Content eingefügt werden soll wenn man auf einen link klickt.
Ich habe in meinen frührern pages die Unterseiten per include ins Grundlayout eingefügt.

Meine links hatten zb diesen code mit einer eindeutigen id:
PHP:
          <li><a  href="index.php?id=start"><span>Start</span></a></li>
          <li><a  href="index.php?id=kontakt"><span>Kontakt</span></a></li>
....
und der div layer hatte dieses Syntax in dem die unterseite dann eingefügt wurde:
PHP:
 <?php 
		
	  if(!isset($_GET['id'])) { $_GET['id'] = ""; } switch($_GET['id']) {   
	  case "start": include('start.php');break; 
	  case "kontakt": include('kontakt.php');break; 
....

Bei dieser Page habe ich allerdings zwei div Bereiche in dem einmal der maincontent ins div geladen werden soll sowie eine weitere php Datei includet werden soll in dem anderen div Bereich. Welche php dateien includet werden sollen ist natürlich abhängig davon auf welchen link man klickt.

Was müßte ich ändern damit ich zwei seperate php Dateiein in die jeweiligen div Bereiche laden kann wenn ich auf einen link klicke? Müßte ich dann mehrere id's mitgeben ?
 
Mir fällt da folgende Möglichkeit ein.
Du erstellst einen Array der die zulässigen IDs beinhaltet.
Kontrollierst dann ob die ID gesetzt ist, wenn nicht wird auf die Startseite verwiesen.
Sollte die ID nicht im Array vorkommen wird eine Fehlerseite ausgegeben.
Dann inkludierst du im jeweiligen Div die Dateien die eine Bennenungsregel haben, zb ID-main.php und ID-right.php

PHP:
$vorhandeneIDs=array('ID1', 'ID2', 'ID3',......);


if (!isset($_GET['id']))
{
    $aktiv='start';
}
elseif (!in_array($_GET['id'], $vorhandeneIDs))
{
    $aktiv='fehler';
}
else
{
   $aktiv=$_GET['id'];
}
In die Divs kommt dann noch das rein:
PHP:
include ($aktiv.'-main.php');


include ($aktiv.'-right.php');

Ob das ganze jetzt genau so funktioniert kann ich nicht sagen, habe es nicht getestet.
 
Zurück