Heinz-Jürgen Schymura

index.php


Das PHP-Quelltext Programm index.php benötigt auf dem Server, in dem Verzeichnis, wo es sich selbst befindet eine Konfigurationsdatei mit dem Namen index_config.php.
Die erste Zeile (<?php) bestimmt, dass nun ein PHP-Quelltext folgt und zwar bis zum Auftreten einer bestimmten Zeichenfolge in der letzten Zeile (?>). Diese beiden Zeilen werden in allen anderen Beispielen nicht mehr gezeigt.
In der index_config.php sind 6 Konstanten definiert, die das Programm auch nutzt. Konstanten sind bei PHP eigentlich nichts anderes, als Zeichenfolgen, die beim Programmlauf durch andere Zeichenfolgen ersetzt werden. Diese brauchen nicht in Großbuchstaben geschrieben werden, aber es gehört zum "guten Ton" sie in Großbuchstaben zu schreiben und es erleichtert auch das Lesen im Programm, weiß man doch, dass dies dann Konstanten sein sollen.
Wenn Sie sich etwas mehr mit PHP auseinander setzen wollen, so empfehle ich diese Webseite zur Einführung und diese zum genauen Nachschlagen der Einzelheiten der Befehle. Ich erkläre hier nur, was unbedingt notwendig ist um die Arbeit des Menüsystems zu verstehen.
Konstanten werden in PHP mit define( definiert. Danach folgt in doppelten Anführungszeichen die Konstantenbezeichnung, dann kommt ein Komma und dann, ebenfalls meist (bei Zeichenfolgen) wieder doppelten Anführungszeichen der Wert und abschließend die schließende Klammer und das Semikolon als Befehlsende.
Bei meiner PHP Quelle der anderen Webseite sieht die index_config.php so aus:
define("INDEX_PHP_NAME","index.php");
define("PFAD_ZU_MENUE_IN_PHP","php/Menue/");
define("MENUE_ALLGEMEINE_KONSTANTEN_NAME","Menue_Allgemein_Konst.php");
define("MENUE_KOPF_KONSTANTEN_NAME","Menue_Kopf_Konst.php");
define("PFAD_ZU_BILDERN_IN_PHP","php/bilder/");
define("BILDER_ANZEIGE_NAME_IM_MENUE","BAimMenue.php");
Der Sinn der Verwendung von Konstanten erschließt sich sofort, wenn Sie sich zum Beispiel die Verwendung dieser Konstanten in der index.php anschauen.
Als erstes lädt sie die Datei index_config.php und verwendet bereits in den nächsten 2 Zeilen diese Konstanten für das Laden weiterer Dateien.
include PFAD_ZU_MENUE_IN_PHP.MENUE_ALLGEMEINE_KONSTANTEN_NAME;
include PFAD_ZU_MENUE_IN_PHP.MENUE_KOPF_KONSTANTEN_NAME;
Das heißt nichts anderes, als dass ich im Programm die Konstante PFAD_ZU_MENUE_IN_PHP verwenden kann und Sie durch die Festlegung dieser Konstanten etwa mit dem Wert php/Menue/ den Inhalt dieser Konstanten Ihren Wünschen anpassen können.    
Der Punkt zwischen den beiden Konstanten in den gezeigten Zeilen aus der index.php bedeutet nichts anderes, als dass PHP diese beiden Zeichenfolgen zu einer Zeichenfolge zusammenfügen soll.
Die Namen den Konstanten dürfte aussagekräftig genug sein. Sie brauchen sich aber nicht weiter mit den Einzelheiten der Menüsteuerung auseinander zu setzen, wenn Sie die Menü Generatoren verwenden.
Sollten Sie jedoch selbst Hand anlegen wollen, so müssen Sie die betreffende Steuerdatei als reine Textdatei mit der Dateinamenserweiterung .php speichern. Auch innerhalb der Datei muss alles dem Anforderungen von PHP entsprechen. Bitte nur einen Texteditor, kein Textverarbeitungsprogramm verwenden.
Alle relativen Pfade sind in allen Steuerdateien (mit einer Ausnahme) immer von dem Verzeichnis aus zu rechnen, in dem sich die Datei index.php befindet.
Sollten Sie sich fragen, weshalb Sie den Namen der index.php auch angeben sollen, dann kann ich nur sagen, es liegt daran, dass manche auf ihre besondere Schreibweise der Datei bestehen, andererseits es auch sein kann, dass Sie die Datei anders nennen wollen (etwa start.php), wenngleich Sie dann nicht mehr automatisch von Server aufgerufen wird, denn nur index (.php,.html und .htm) werden automatisch gesucht.
Im Weiteren werden die Konfigurations- und Steuerdateien Menue_Allgemein_Konst.php und Menue_Kopf_Konst.php besprochen und an Hand dieser Dateien dann auch der generelle Aufbau aller anderen sich aus ihnen ergebenden Konfigurations- und Steuerdateien.  
Ist Ihnen aufgefallen, dass Menue_Allgemein_Konst.php ein Name ist, der in der index_config.php bei der Konstanten MENUE_ALLGEMEINE_KONSTANTEN_NAME festgelegt wurde? Sie können sie also nennen, wie Sie wollen, ich werde sie weiter als Menue_Allgemein_Konst.php bezeichnen.
Bei meiner PHP Quelle der anderen Webseite sieht die Menue_Allgemein_Konst.php so aus:
define("GET_THEMA","the");
define("GET_U_AUS","u_a"); 
define("GET_UU_AUS","uu_a");
define("KOPF_BILD_EIN",0); 
define("KOPF_BILD_AUS",1);
define("SCHALT_KOPF_BILD",KOPF_BILD_EIN); 
define("DIV_KOPF_BILD","kopf_Bild"); 
define("BILD_ZEILE","<img src=\"images/Name.jpg\" alt=\"Heinz-Jürgen Schymura\" WIDTH=\"208\" HEIGHT=\"40\">");
define("HTMLKOPF_DATUM_AKTUELL_EIN",0);
define("HTMLKOPF_DATUM_AKTUELL_AUS",1);
define("SCHALT_HTMLKOPF_DATUM",HTMLKOPF_DATUM_AKTUELL_EIN);
define("U_TEIL_VORN","u_");
define("U_TEIL_MITTE","_");
define("U_MENUE_ENDE","_menue.php");
define("TITEL_BEI_START","Heinz-Jürgen Schymura"); 
define("DESCRIPTION_BEI_START","Bilder, Wandern, Wanderführer, Verschiedenes, Okkult, Suche, Impressum");

$htmlkopf=array ("Alles (bis auf den Titel) was im HTMLKopf der Webseite vor body steht");
$htmlkopf[]="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" ";
$htmlkopf[]="       \"http://www.w3.org/TR/html4/transitional.dtd\"> ";
$htmlkopf[]="<head> ";
$htmlkopf[]="<link rel=\"stylesheet\" type=\"text/css\" href=\"_private/Homepage.css\"> ";
$htmlkopf[]="<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\"> ";
$htmlkopf[]="<meta name=\"content-language\" content=\"de\"> ";
$htmlkopf[]="<meta name=\"audience\" content=\"Alle\"> ";
$htmlkopf[]="<meta name=\"author\" content=\"Heinz-Jürgen Schymura\"> ";
$htmlkopf[]="<meta name=\"publisher\" content=\"Heinz-Jürgen Schymura\"> ";
$htmlkopf[]="<meta name=\"robots\" content=\"INDEX,FOLLOW\"> ";
$htmlkopf[]="<meta name=\"revisit-after\" content=\"30 days\"> ";
Wie bereits oben einmal gezeigt, werden zuerst Konstanten definiert. Die Konstanten, die mit GET beginnen legen fest, welcher Text bei der Anforderung einer ausgewählten Seite in der Adressenzeile des Browsers zu sehen ist. (Beispiel http://127.0.0.1/index.php?the=wan steht für Auswahl Wandern bei den Menüpunkten der Menükopfzeile).
Die Namen der Konfigurationsdateien für die Untermenüs legen Sie mit den Konstanten, die mit U_ beginnen fest. Für Wandern heißt die Datei also u_wan_menue.php.
DESCRIPTION_BEI_START ist eine Meta-Information, die Sie in der normalen Ansicht einer Webseite überhaupt nicht sehen, sondern die im Prinzip für Websuchmaschinen da ist und im unsichtbaren Kopf (Header) einer Webseite steht. Dies können Sie sich anschauen,  wenn Sie in Ihrem Browser Quelltext anzeigen aktivieren. Ebenso verhält es sich mit der Meta-Information date, die Sie über die Konstanten mit der Zeichenfolge HTMLKOPF_DATUM steuern.
Bei TITEL_BEI_START ist dies schon etwas anders, diesen Eintrag zeigen die Browser normalerweise in der obersten Rahmenzeile des Browsers an.
Sehen Sie sich nun noch mal die Konstanten KOPF_BILD_EIN und KOPF_BILD_AUS an. Sie sehen, Konstanten können nicht nur Zeichenfolgen aufnehmen, sondern auch Zahlenwerte. Diese dann natürlich ohne die doppelten Hochkomma für die Zeichenfolgenbegrenzung. Geben Sie bitte nie bei einer Konstanten, die Zahlenwerte erwartet, Zeichenfolgen ein. PHP würde Fehler produzieren, wenn es damit rechnet etc.. Sie können Zeichenfolgen- und Wertekonstanten immer dadurch unterscheiden, dass Zeichenfolgenkonstanten bei mir immer in doppelten Hochkommas eingeschlossen sind.
Und wenn Sie sich nun auch noch SCHALT_KOPF_BILD anschauen, dann sehen Sie, dass einer Konstanten selbst der Wert einer anderen, vorher definierten Konstanten zugewiesen werden kann. Mit dem Festlegen dieser Konstanten bestimmen Sie,ob in der Kopfzeile Ihrer Webseite ein Bild angezeigt werden soll. Bei SCHALT_HTMLKOPF_DATUM verhält es sich ähnlich, damit steuern Sie, ob im Header der einzelnen Webseite das aktuelle Datum hinter date geschrieben wird, oder ob das Datum nicht bearbeitet wird, so dass Sie es in dem nachfolgend beschriebenen Array selbst festlegen sollten.
Und nun geht es denn das erste mal zu Arrays. Arrays kann man sch vorstellen als Behälter, die unterschiedlich groß sein können, aber immer mit ähnlichen Inhalten. Dabei ist es gleichgültig, ob ein Array aus einem Element besteht, oder aus 1000. Es können auch immer wieder neue Elemente hinzu gefügt werden.
Mit dem ersten Benennen eines Arrays erzeugt man ein Array, oder überschreibt ein bereits bestehendes Array mit gleichem Namen.
$htmlkopf=array ("Alles (bis auf den Titel) was im HTMLKopf der Webseite vor body steht");
Hier wird also ein Array mit dem Namen $htmlkopf neu erzeugt oder halt einfach überschrieben. Es besteht nun aus einem einzigen Element, das den Inhalt Alles (bis auf den Titel) was im HTMLKopf der Webseite vor body steht hat.
Bei allen Arrays beginnt PHP bei der Zählung der Elemente immer mit 0. Das heißt, das erste Element kann über $htmlkopf[0] direkt angesprochen oder abgefragt werden.
Ich beginne in meinen PHP-Quelltextprogrammen jedoch immer bei 1, weil ich das nullte Element immer als Erklärung nutze.
Und nun zu dem eigentlichen Inhalt des Arrays $htmlkopf. Mit $htmlkopf[] wird alson jeweils ein neues Element an das bestehende Array angehängt.
Sie können also  eine beliebige Anzahl von Einträgen anhängen. Es kommt für index.php nur darauf an, dass es vorausgesetzte Array $htmlkopf auch wirklich findet. (Element 0). Dies gilt auch für allen anderen Arrays in allen anderen Konfigurations- und Steuerdateien.
Sinn dieser Einträge ist es, alle Headereinträge, die in allen Webseiten gleich sind, aufzunehmen, so dass index.php sie in die einzelnen Seiten einbauen kann.
Deshalb sollten Sie vor allem den Dokumenttyp festlegen und dann natürlich den Beginn des eigentlichen Headers $htmlkopf[]="<head> ";Hier sehen Sie auch noch einige Besonderheiten. Erstens müssen Sie jede Zeile mit einem Semikolon abschließen, aber das ist ja nichts Neues, aber das ist neu. Es ist nicht wirklich notwendig, aber wenn Sie möchten, dass in der Anzeige des Quelltextes einer Webseite auch ein Zeilenvorschub an der Stelle gemacht werden soll, dann müssen Sie halt den Zeilenvorschub so einfügen. 
Das lässt sich ja noch überblicken, aber bei den anderen Elementen stehen unendlich viele \". Und hinterher im Quelltext der Webseite ist davon nur noch das " zu sehen! Das liegt daran, dass es auch nur ein doppeltes Hochkomma sein soll. Aber PHP würde ein doppeltes Hochkomma als Anfang oder Ende einer Zeichenfolge betrachten und dann voll durcheinander kommen. Deshalb muss man einem doppeltes Hochkomma immer einen Schrägstrich von links oben nach rechts (\) unten voranstellen um PH zu sagen, dass dies als doppeltes Hochkomma in der Zeichenfolge anzusehen ist. Dies können Sie sich am einfachsten mit dem Hilfsprogramm Escapen erzeugen lassen, dessen Beschreibung Sie unter dem Menüpunkt Beschreibungen Escapen und ausführlich unter Hilfe Escapen beschrieben finden.

Dies ist meine Konfigurations- und Steuerdatei Menue_Kopf_Konst.php.
define("KOPF_BILDER_ERKENNUNG","bil");

$Kopf_Datei_in_Ausgabe_schreiben=array ("Welche Datei soll in die Ausgabe geschrieben werden, bei Start der Webseite?");
$Kopf_Datei_in_Ausgabe_schreiben[]=("StartSeite.php");

$Kopf_menue_CSS_Container=array
("Wie ist der Container für das zu nutzende Menü in der CSS-Datei benannt?");
$Kopf_menue_CSS_Container[]=("kopf_container");

$Kopf_menue_CSS_define=array ("Wie ist die Definition für das zu nutzende Menü in der CSS-Datei benannt?");
$Kopf_menue_CSS_define[]=("kopf_Menue");

$Kopf_menue_CSS_name=array ("Wie ist das zu nutzende Menü in der CSS-Datei benannt?");
$Kopf_menue_CSS_name[]=("kopfmenue");

$Kopf_Unter_menue_Ausgabe_CSS_Container=array
("Wie ist der Container für den gesamten Bereich unterhalb des Kopfmenüs in der CSS-Datei benannt?");
$Kopf_Unter_menue_Ausgabe_CSS_Container[]=("ausgabe_container");

$Kopf_Ausgabe_CSS_name=array ("Wie der Bereich für die Ausgabe in der CSS-Datei benannt?");
$Kopf_Ausgabe_CSS_name[]=("ausgabe");

$Kopf_menue=array ("Hier stehen dann die Kopf Menü Einträge"); 
$Kopf_menue[]=(" Bilder ");          
$Kopf_menue[]=(" Okkult ");
$Kopf_menue[]=(" Verschiedenes ");
$Kopf_menue[]=(" Wandern ");
$Kopf_menue[]=(" Impressum ");

$Kopf_Titel=array ("Titel der Webseite für die Kopf Menü Einträge");  
$Kopf_Titel[]=("Heinz-Jürgen Schymura | Bilder");
$Kopf_Titel[]=("Heinz-Jürgen Schymura | Okkult");
$Kopf_Titel[]=("Heinz-Jürgen Schymura | Verschiedenes");
$Kopf_Titel[]=("Heinz-Jürgen Schymura | Wandern");
$Kopf_Titel[]=("Heinz-Jürgen Schymura | Impressum");

$Kopf_Erkennung=array ("Die Kennung der  Kopf Menü Einträge");  
$Kopf_Erkennung[]=(KOPF_BILDER_ERKENNUNG); 
$Kopf_Erkennung[]=("okk");
$Kopf_Erkennung[]=("ver");
$Kopf_Erkennung[]=("wan");
$Kopf_Erkennung[]=("imp");

$Kopf_U_Menue_Tiefe=array ("Wie viel Untermenüs noch unter dem Menükopf?");
$Kopf_U_Menue_Tiefe[]=(1);
$Kopf_U_Menue_Tiefe[]=(1);
$Kopf_U_Menue_Tiefe[]=(1);
$Kopf_U_Menue_Tiefe[]=(2);  
$Kopf_U_Menue_Tiefe[]=(0);

$Kopf_U_Menue_Tiefe_2_Pfad=array ("Wo liegen die Menüs bei Tiefe 2(3. Ebene)");
$Kopf_U_Menue_Tiefe_2_Pfad[]=("");
$Kopf_U_Menue_Tiefe_2_Pfad[]=("");
$Kopf_U_Menue_Tiefe_2_Pfad[]=("");
$Kopf_U_Menue_Tiefe_2_Pfad[]=("php/Menue/Wandern/");
$Kopf_U_Menue_Tiefe_2_Pfad[]=("");

$Kopf_description=array ("Wie soll die Beschreibung hinter description im header der Webseite lauten?");
$Kopf_description[]=("Bilder, während der Wanderungen aufgenommen");
$Kopf_description[]=("Okkult, geheim, Tunneln von Mikrowellen, überlichtschnelle Informationsübertragung, künstliche Gravitation, Prof. Günter Nimtz, Dr. Martin Tajmar");
$Kopf_description[]=("Verschiedenes, alles was sonst nicht passt");
$Kopf_description[]=("Wandern, Wanderführer");
$Kopf_description[]=("Impressum, bitte nur hier beschweren");
Die Konstante KOPF_BILDER_ERKENNUNG wird benötigt, damit die index.php in den Modus für die Bildanzeige wechseln kann. Erst hier in dieser Menue_Kopf_Konst.php wird ja (von Ihnen) festgelegt, wie sie heißen soll.
Alles andere sind Arrays, auch wenn sie oft nur ein genutztes Element haben und demnach eigentlich auch Konstanten hätten sein können......
Bei $Kopf_Datei_in_Ausgabe_schreiben legen Sie die Datei fest, die beim Start der Webseite zusätzlich zu Ihrem Menü im Ausgabebereich der Seite angezeigt werden soll.
Und nun kommen Ihre Angaben in der zentralen CSS-Datei zur Anwendung:
Bei $Kopf_menue_CSS_Container geben Sie bitte an, wie Sie dort den Container genannt haben (bei mir kopf_container).
Bei $Kopf_menue_CSS_define ähnlich (bei mir kopf_Menue).
Bei $Kopf_menue_CSS_name geben Sie den Namen Ihres Kopfmenüs an (bei mir kopfmenue).
Wie der Name $Kopf_Unter_menue_Ausgabe_CSS_Container es schon sagt, jetzt Ihre Festlegung für den gesamten Ausgabecontainer aus der CSS-Datei (bei mir ausgabe_container), Also der Bereich, der gescrollt werden kann.
Und als letzte Ausgabebereich nun noch $Kopf_Ausgabe_CSS_name, der eigentliche Ausgabebereich (bei mir ausgabe).
So, das sind jetzt erstmal alle vorbereitenden Angaben. Bisher haben Sie noch keine einzige Menüangabe gemacht.
Das ändert sich jetzt. Nun wird aber auch die Reihenfolge in den Arrays wichtig. Sie müssen in allen folgenden Arrays die gleiche Anzahl von Elementen haben und es muss auch immer die gleiche Reihenfolge eingehalten werden, sonst passen eventuell die einzelnen Angaben zu den Menüpunkten nicht mehr zusammen.
Sehen Sie sich ruhig mal mein Kopfmenü an: Es besteht aus 5 nutzbaren Elementen. Alles was in den Elementen des Arrays $Kopf_menue von oben nach unten steht, das zeigt sich auf der Webseite von links nach rechts im Kopfmenü.
Jetzt wird auch klar, warum die Reihenfolge bei den verschiedenen Arrays genau einzuhalten ist, denn sonst könnte ja etwa bei dem Menüpunkt Bilder der Titel in der obersten Browserzeile für Verschiedenes angezeigt werden.
Im Array $Kopf_Erkennung legen Se fest, welche Zeichenfolgen in der Adressenzeile zur Anforderung einer vom Besucher  ausgewählten Seite geschrieben werden soll. Sie erinnern sich noch an das Beispiel (http://127.0.0.1/index.php?the=wan) oben? the=wan steht für Auswahl Wandern, weil es in der Menue_Allgemein_Konst.php für GET_THEMA die Festlegung the gab und nun wan für Wandern festgelegt wurde.
Aus diesen Festlegungen bei $Kopf_Erkennung und den Festlegungen in der  Menue_Allgemein_Konst.php für U_TEIL_VORN und U_TEIL_MITTE und U_MENUE_ENDE werden dann übrigens auch die Namen der Untermenüauswahldateien festgelegt, für den Menüpunkt Verschiedenes also demnach der Dateiname u_ver_menue.php.
Ich möchte Ihnen raten, wenn Sie die Anzeige von Bildern als Menüpunkt anbieten wollen, hierbei den Inhalt der Konstante KOPF_BILDER_ERKENNUNG anzugeben, damit Sie wirklich jeden Tippfehler ausschließen.
Bei $Kopf_U_Menue_Tiefe legen Sie fest, wie viel Untermenüs noch unter dem Kopfmenü folgen. Hier kann jeder Zahlenwert von 0 bis 2 eingetragen werden.
0 bedeutet, es gibt hierfür kein Untermenü, bei mir etwa bei der Anzeige des Impressums.
1 ist der normale Wert, es wird also noch (links) ein weiteres Untermenü zur Auswahl angeboten.
2 kommt bei mir nur bei Wandern vor, da habe ich dann noch ein weiteres Unterauswahlmenü., also 3. Ebene.
Falls Sie also bei $Kopf_U_Menue_Tiefe in einem Element einen Wert größer als 1 angeben, so müssen Sie im entsprechenden Element des Arrays $Kopf_U_Menue_Tiefe_2_Pfad eintragen, wo die entsprechenden Dateien zu finden sind, ansonsten geben Sie bitte eine leere Zeichenfolge an, bestehend nur aus den öffnenden und schließenden doppelten Hochkommas.
Im Array $Kopf_description legen Sie nur fest, wie die Beschreibung der einzelnen Seite für die Suchmaschinen lauten soll.
Das war es im Wesentlichen.
Bei den weiteren Untermenüs läuft alles nach der gleichen Struktur und Vorgehensweise ab.
Nur dass die dann Arrays nicht mehr mit $Kopf_ beginnen, sondern mit $U_.
Es gibt dann nur noch die (Pseudo) Arrays $U_Datei_in_Ausgabe_schreiben, $U_menue_CSS_name und $U_Ausgabe_CSS_name und die richtigen (Menü-) Arrays $U_menue, $U_kennung, $U_Titel, $U_Anzeigedatei, $U_description. Dann kann es eventuell noch ein Array geben, das den Namen $U_IncludeDatei_Fuer_Suche haben kann. Dieses wird nur für die Erstellung eines Suchindex gebraucht. Also, wenn Sie keine eigene Suche für Ihre Webseite anbieten wollen, dann brauchen Sie sich dieses Array nicht, denn index.php greift nie darauf zu.
Neu für Sie ist dabei eigentlich nur noch $U_Anzeigedatei. Aber auch das ist schnell erklärt. Dort steht dann jeweils der Namen der Datei, die bei der Auswahl des entsprechenden Untermenüpunktes im entsprechenden Ausgabebereich angezeigt werden soll.
Und bei noch einem weiteren Unter-Untermenü, wenn Sie also bei $Kopf_U_Menue_Tiefe 2 angegeben hatten, dann ändert sich nichts weiter, als dass die Arrays dann statt $U_ mit $U_U_ beginnen.
Wenn Sie sich bis hierher durchgearbeitet haben dann haben Sie auch die Arbeitsweise des gesamten Menüsystems im Wesentlichen verstanden.
Dennoch zeige ich Ihnen ein hier noch eine (Untermenü-)  Konfigurations- und Steuerdatei mit dem Namen u_ver_menue.php, der sich aus den oben gezeigten Festlegungen für die Auswahl des Menüpunktes Verschiedenes in der Kopfmenüzeile ergibt.
$U_Datei_in_Ausgabe_schreiben=array ("Welche Datei soll in die Ausgabe geschrieben werden, wenn keine Auswahl getroffen wurde?");
$U_Datei_in_Ausgabe_schreiben[]=("Verschiedenes/Erklaerung.php");

$U_menue_CSS_name=array ("Wie ist das zu nutzende Menü in der CSS-Datei benannt?"); 
$U_menue_CSS_name[]=("linksmenue");

$U_Ausgabe_CSS_name=array ("Wie ist der Bereich für die Ausgabe in der CSS-Datei benannt?");
$U_Ausgabe_CSS_name[]=("ausgabe");

$U_menue=array ("Hier stehen dann die Untermenü Einträge");
$U_menue[]=("Apfelmännchen");
$U_menue[]=("Internetsicherheit");
$U_menue[]=("Rezept des Tages");
$U_menue[]=("Suche in der HP"); 
$U_menue[]=("Über Sie");

$U_kennung=array ("Die Kennung der Untermenü-Einträge");
$U_kennung[]=("apf");
$U_kennung[]=("int");
$U_kennung[]=("rdt");
$U_kennung[]=("hps");
$U_kennung[]=("ues");

$U_Titel=array ("Titel der Webseite für die Untermenü-Einträge");
$U_Titel[]=("Heinz-Jürgen Schymura | Verschiedenes | Apfelmännchen");
$U_Titel[]=("Heinz-Jürgen Schymura | Verschiedenes | Internetsicherheit");
$U_Titel[]=("Heinz-Jürgen Schymura | Verschiedenes | Rezept des Tages");
$U_Titel[]=("Heinz-Jürgen Schymura | Verschiedenes | Suche in der Homepage");
$U_Titel[]=("Heinz-Jürgen Schymura | Verschiedenes | Über Sie");

$U_Anzeigedatei=array ("Welche Datei soll bei Auswahl der Untermenü Einträge angezeigt werden?");
$U_Anzeigedatei[]=("Verschiedenes/Apfelmaennchen.php");
$U_Anzeigedatei[]=("Verschiedenes/Internet.php");
$U_Anzeigedatei[]=("Verschiedenes/ChefkochRezept.php");
$U_Anzeigedatei[]
=("_suchen/SucheInHP.php");
$U_Anzeigedatei[]=("Verschiedenes/BesucherDaten.php");

$U_IncludeDatei_Fuer_Suche=array ("Ist für die Erzeugung einer SuchIndex.TXT eine andere Datei als unter U_Anzeigedatei eingetragen zu nutzen?");
$U_IncludeDatei_Fuer_Suche[]=("Verschiedenes/Apfelmae_Erklaer.php");
$U_IncludeDatei_Fuer_Suche[]=("");
$U_IncludeDatei_Fuer_Suche[]=("");
$U_IncludeDatei_Fuer_Suche[]=("_suchen/Holdaten_Suche.php");
$U_IncludeDatei_Fuer_Suche[]=("Verschiedenes/BesucherDaten_Erklaer.php");

$U_description=array ("Wie soll die Beschreibung hinter description im header der Webseite lauten?");
$U_description[]=("Heinz-Jürgen Schymura, Verschiedenes, Apfelmännchen");
$U_description[]=("Heinz-Jürgen Schymura, Verschiedenes, Ihre Sicherheit im Internet");
$U_description[]=("Heinz-Jürgen Schymura, Verschiedenes, Rezept des Tages");
$U_description[]=("Heinz-Jürgen Schymura, Spielereien, Suche in der Homepage");
$U_description[]=("Heinz-Jürgen Schymura, Verschiedenes, Über Sie");
Sie sehen hier als Besonderheit, dass bei $U_IncludeDatei_Fuer_Suche in einigen Elementen ein Eintrag vorhanden ist, bei anderen nicht. Das liegt einfach nur daran, dass bei Internetsicherheit und bei Rezept des Tages alles normal läuft, also eine Seite aufgerufen wird, bei den anderen Untermenüpunkten jedoch erst noch Besuchereingaben abgeholt werden müssen. Deshalb stehen dort bei $U_IncludeDatei_Fuer_Suche Angaben, in welchen Dateien diese Eingabeformen sind, z.B. bei der Suche in der Webseite die Datei Holdaten_Suche.php, die bei einer Auswahl des entsprechenden Untermenüpunktes (indirekt) von SucheInHP.php aufgerufen werden würde.
Im Gegensatz zu  $U_IncludeDatei_Fuer_Suche, das auch fehlen kann, muss das Array $U_Anzeigedatei immer in jeder (Untermenü-)  Konfigurations- und Steuerdatei vorhanden sein, auch wenn es leere Zeichenfolgen in doppelten Hochkommas haben kann, wie etwa (fast) immer in den (Untermenü-)  Konfigurations- und Steuerdateien für die 3. Ebene, oder bei den Bildern.
Für die konkrete Arbeit aber sollten Sie Generatoren nutzen. Diese verhindern, dass beim schnellen Einfügen oder Löschen von Menüpunkten mit einem Texteditor ein Arrayelement vergessen wird.