index.php?section=index

GN911

Erfahrenes Mitglied
Hallo,

Ich verwende ein 3-Spalten-(CSS)Layout.
Kann man die Sache so erweitern, das zu den Links auch der Seitentitel in der Indexseite mit angezeigt wird?

PHP:
  <?php
  // config.php
  aus
  $dateien = array();
  $dateien['home'] = "home.php";
  $dateien['news'] = "news.php";
  
  // wird
  $dateien = array();
  $dateien['home'] = "home.php", "Startseite";
  $dateien['news'] = "news.php", "aktuelle News";
  ?>

PHP:
  <?php
  //inhalt.php
  include('config.php');
  
  if(isset($_GET['section']) AND isset($dateien[$_GET['section']]))
  {
  	include $dateien[$_GET['section']];
  }
  else
  {
  	include $dateien['error'];
  }
  ?>
 
Speichere einfach beide Informationen in einem zusätzlichen Array:
PHP:
<?php

	$dateien = array(
		'home' => array(
			'title' => 'Startseite',
			'file'  => 'home.php'
		),
		'news' => array(
			'title' => 'aktuelle News',
			'file'  => 'news.php'
		)
	);

?>
 
Hallo,


und wie passe ich das an?

PHP:
<?php
//inhalt.php
include('config.php');
 
if(isset($_GET['section']) AND isset($dateien[$_GET['section']]))
{
	 include $dateien[$_GET['section']];
}
else
{
	 include $dateien['error'];
}
?>
 
Beispielsweise so:
PHP:
<?php

	ob_start();

	$_allowedSections = array(
		'home' => array(
			'title' => 'Startseite',
			'file'  => 'home.php'
		),
		'news' => array(
			'title' => 'aktuelle News',
			'file'  => 'news.php'
		),
		'error' => array(
			'title' => 'Fehler',
			'file'  => 'error.php'
		)
	);

	if( isset($_GET['section']) && isset($allowedSections[$_GET['section']]) ) {
		$pageTitle = $_allowedSections[$_GET['section']]['title'];
		include $_allowedSections[$_GET['section']]['file'];
	} else {
		header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
		$pageTitle = $_allowedSections['error']['title'];
		include $_allowedSections['error']['file'];
	}
	ob_end_flush();

?>
Der Zusätzliche Einsatz des Ausgabepuffers ermöglicht auch das spätere Setzen eines zusätzlichen Statuscodes oder Headerfeldes.
 
Zurück