Hier wird die Arbeitsweise des PHP-Quelltext Programms
Termine_Aktuell.php vorgestellt. Außerdem auch die Erstellung der notwendigen Termine- und anderen Textdateien.
Termine_Aktuell.php benötigt auf dem Server, in dem
Verzeichnis, in dem es sich
selbst befindet, eine
Konfigurationsdatei, mit dem Namen
Termine_Config.php in der Sie die Einstellungen für das Programm Ihren Bedürfnissen anpassen können.
Beim Aufruf von
Termine_Aktuell.php
lädt dieses die Konfigurationsdatei ein. Wenn Sie genaueres
zu Konfigurationsdateien und Konstanten unter
PHP wissen wollen, dann können Sie
ruhig unter dem Menüpunkt
Hilfe Menüsystem 1 index.php nachlesen.
In der
Termine_Config.php werden 11 Festlegungen (
define) gemacht. Ich zeige Ihnen hier im folgenden die Einstellungen, mit denen ich die Bilder unter dem Menüpunkt
Beschreibungen Termine_Aktuell.php erzeugt habe.
define("TERMINE_VERZEICHNIS","Termine/");
define("TERMIN_AUSGABE_EXTENSION",".html");
define("SUCH_DATEI_TAGE_ZURUECK",30);
define("TERMINE_DATEN_VERZEICHNIS","TerminDaten/");
define("TERMIN_EXTENSION",".txt");
define("TERMINE_FESTEDATEN_VERZEICHNIS","FesteDaten/");
define("START_DATEI","termine_Kopf.txt");
define("ENDE_DATEI","termine_Boden.txt");
define("OBEN_FEST_TEXT","termine_festoben.txt");
define("UNTEN_FEST_TEXT","termine_festunten.txt");
define("KEINE_TERMINE","keine_termine.txt");
Die erste Zeichenfolge in den doppelten Hochkommas dürfen Sie nicht ändern, da
PHP bei
define
immer die erste Zeichenfolge durch den zweiten Wert in der gleichen
Zeile ersetzt. So kann ich im PHP-Quelltext Programm
Termine_Aktuell.php die Zeichenfolge
KEINE_TERMINE schreiben und
PHP ersetzt dieses dann durch die Zeichenfolge
keine_termine.txt.
In der zweiten Zeichenfolge (mit doppelten Hochkommas) schreiben Sie einfach Ihre Angaben hinein um
Termine_Config.php entsprechend zu konfigurieren.
Sie sehen, auch ein Zahlenwert ist zulässig, dann aber bitte ohne doppelte Hochkomma, da diese in
PHP für Zeichenfolgen reserviert sind.
Sie
müssen immer auf die Groß- und Kleinschreibung bei Ihren
Festlegungen achten, denn die meisten Server unterscheiden hier sehr
genau. Ebenso ist es wichtig, dass Sie bei Verzeichnisangaben diese
immer mit einem "
/" beenden. Ausnahme: Wenn Sie keinen Angaben
machen, dann halt nur "".
Und so sind die einzelnen, hier gezeigten,
Festlegungen zu verstehen:
Hinter
TERMINE_VERZEICHNIS steht das Verzeichnis, in dem sich die
Daten oder weitere
Unterverzeichnisse befinden, immer von
Termine_Aktuell.php aus gerechnet. Hier schreibt das Programm auch seine
Ausgabedatei
hinein, es braucht dort also Schreibrechte auf dem Server. Die
Ausgabedatei erhält den Namen des aktuellen Datums auf dem Server
mit der hinter
TERMIN_AUSGABE_EXTENSION angegebenen Extension, also etwa für den
20.7.09 die Datei
2009_07_20.html.
Findet
das PHP-Programm die entsprechende Datei bereits, so wird sie einfach
ausgegeben, denn warum soll sie erneut erzeugt werden.
Wird sie jedoch nicht gefunden, so sucht es als erstes die vorhergehende entsprechende Datei, etwa
2009_07_19.html.
Da es jedoch möglich ist, dass manchmal einen ganzen oder mehrere
Tage lang kein Besucher auf der Webseite war (wünsche ich keinem,
kann aber durchaus passieren, etwa bei Serverausfall oder
ähnlichem) und auch dann die vorhergehende Datei gelöscht
werden soll, geben Sie bitte hinter
SUCH_DATEI_TAGE_ZURUECK die
Anzahl der Tage (ohne Hochkommas) an, die das Programm versuchen soll,
eine entsprechende Datei zu finden, um sie zu löschen. Die
Begrenzung ist deshalb wichtig, damit das Programm aufhört zu
suchen, wenn bisher keine entsprechende Datei vorhanden ist, etwa
beim ersten mal, oder wenn die Datei von Hand gelöscht wurde.
Hinter
TERMINE_DATEN_VERZEICHNIS geben Sie bitte das
Verzeichnis an, in dem sich die Dateien mit den einzelnen Terminen
befinden. Bitte beachten Sie, dieses Verzeichnis ist ab dem unter
TERMINE_VERZEICHNIS angegebenen Verzeichnis zu rechnen.
Hinter
TERMIN_EXTENSION tragen Sie bitte die entsprechende Dateinamensextension dieser Termindateien ein.
Dann ist noch hinter
TERMINE_FESTEDATEN_VERZEICHNIS das Verzeichnis anzugeben, wieder ab dem unter
TERMINE_VERZEICHNIS angegebenen Verzeichnis zu rechnen, in dem sich die anderen Dateien
befinden, die das Programm noch benötigt, oder die es nutzen
würde.
Es
braucht unbedingt die Dateien, die hinter
START_DATEI und
ENDE_DATEI
anzugeben sind, denn in ihnen befindet sich der gesamte Rest
(außer den einzelnen Terminen) der zu erzeugenden Ausgabedatei,
also bei
START_DATEI etwa der HTML-Kopf einschließlich der
<body>
Angabe und dann alles weitere bis zu der Stelle, an der der erste
Termin stehen würde. Ebenso alles, was nach dem letzten Termin
noch stehen muss in
ENDE_DATEI, wie etwa das Schließen von Tabellen, das <
/body> und das
</html> der Webseite.
Die 3 nächsten Angaben hinter
OBEN_FEST_TEXT,
UNTEN_FEST_TEXT und
KEINE_TERMINE sind nicht zwingend notwendig, sie können also auch leer ("") sein.
Das Programm versucht nur, die entsprechenden Dateien zu finden und sie an entsprechender Stelle auszugeben. Also für
OBEN_FEST_TEXT unabhängig von gefundenen Terminen als erstes in der Ausgabe (oben). Für
UNTEN_FEST_TEXT als letzte Ausgabe nach den Terminen oder halt der Meldung (
KEINE_TERMINE), die ausgegeben wird, wenn keine Termine gefunden wurden. Wenn Sie sich die Bilder unter dem Menüpunkt
Beschreibungen Termine_Aktuell.php
genauer angeschaut haben, können Sie erkennen, dass kein
Programmfehler passiert, wenn eine der 3 angegebenen Dateien (hier
termine_festunten.txt, hinter
UNTEN_FEST_TEXT angegeben)
nicht gefunden wird. Die entsprechende Datei wird einfach nicht eingeladen.
Termine_Aktuell.php setzt die Termindateien immer in der oben bereits einmal gezeigten Form (
2009_07_19.html)
voraus. Also immer 4 stellige Jahreszahl, einen Unterstrich, 2 stellige
Monatsangabe, einen Unterstrich und 2 stellige Tagesangabe mit der
eingestellten Extension.
Um
Termine_Aktuell.php arbeiten zu lassen brauchen Sie weiter nicht zu tun, als auf Ihrer Webseite (im Menü) bei den entsprechenden Links
Termine_Aktuell.php einzutragen. Damit Sie nicht Ihr gesamtes Menüsystem umstricken müssen, ist es durchaus sinnvoll
Termine_Aktuell.php und damit auch
Termine_Config.php
auf dem Server in dem Verzeichnis zu speichern, in dem sich auch
die Startdatei (index.html, index.php) Ihrer Webseite befindet.
Das war es eigentlich schon zu dem PHP-Programm
Termine_Aktuell.php.
Nun
werde ich mich noch ein wenig darüber auslassen, wie Sie die
entsprechenden Termindateien und auch die anderen (notwendigen) Dateien
am einfachsten (meine ich) erzeugen können.
Ausgangspunkt ist
eine vorhandene (oder halt neu zu erstellenden) einzelne Webseite
für die Termine. Sie gestalten sie bitte komplett so, wie Sie sie
haben wollen, lassen nur die Termine (und auch die möglichen
Angaben die Sie in den Dateien festgelegt hinter
OBEN_FEST_TEXT und UNTEN_FEST_TEXT) weg.
Für
die Webseite meiner Tochter sieht das dann im
WYSIWYG
HTML-Editor NVU
in etwa so aus. Kopf und Navigation sind vorhanden, was fehlt sind "nur
noch" die einzelnen Termine. Weiter unten zeige ich Ihnen dann auch
noch den
HTML-Quelltext, der dahinter steckt. Diese speichere ich nun unter dem Namen
termine_Vorlage.html (frei wählbar) ab.
Also gebe ich doch einmal einen Termin ein und speichere die Datei dann unter dem, dem Datum entsprechenden Namen, also
2009_08_22.html,
zum Beispiel im gleichen Verzeichnis, in dem auch die Datei
termine_Vorlage.html ist. Und dann kann ich den nächsten Termin eingeben
und unter entsprechendem Namen, hier also
2009_09_26.html speichern.
Oder/Und auch die anderen Dateien für
OBEN_FEST_TEXT,
UNTEN_FEST_TEXT und
KEINE_TERMINE erstellen und speichern.
Und hier dann (wie versprochen) den HTML-Quelltext der Vorlageseite:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>miekeschymura - schauspielerin</title>
<meta name="htdig-noindex" content="mieke schymura - schauspielerin">
<meta name="DC.Creator" content="Karla Leyer">
<meta name="DC.Publisher" content="mieke schymura - schauspielerin">
<meta name="DC.Contributor" content="Karla Leyer">
<meta name="DC.Subject" content="mieke schymura - schauspielerin">
<meta name="DC.Description" content="mieke schymura - schauspielerin">
<meta name="DC.Date" content="2008-04-04">
<meta name="DC.Type" content="Text">
<meta name="DC.Format" content="text/html">
<meta name="DC.Language" content="de,en">
<meta name="DC.Coverage" content="Muenster">
<meta name="DC.Rights" content="Alle Rechte liegen beim Autor">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="Keywords" content="mieke schymura - schauspielerin" lang="DE">
<meta name="Keywords" content="mieke schymura - schauspielerin">
<meta name="Robots" content="index,follow">
<meta name="revisit-after" content="after 7 days">
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body background="grafiken/linienbild.gif">
<table align="center" border="0" cellpadding="0" cellspacing="0" height="auto" width="800">
<tbody>
<tr><td colspan="4" bgcolor="#ffffff" height="40" width="800"> </td></tr>
<tr><td align="left" bgcolor="#4f4f4f" height="200" valign="top" width="40"></td>
<td align="left" bgcolor="#4f4f4f" height="200" valign="middle" width="160">
<span style="color: rgb(204, 51, 51); font-weight: 700;"></span>
<a href="index.html">> start</a><br>
<a href="vita.html">> vita</a><br>
<a href="fotos.html">> fotos</a><br>
<a href="demo.html">> demos</a><br>
<a href="produktionen.html">> produktionen</a><br>
<a href="gesang.html">> gesang</a><br>
<font color="#cc3333"><b>> termine</b></font><br>
<a href="kontakt.html">> kontakt</a><br>
<a href="impressum.html">> impressum</a></td>
<td colspan="3" bgcolor="#ffffff" height="200" width="600">
<img src="grafiken/banner-produktionen.jpg" alt="" border="0" height="200" width="600">
</td></tr><tr><td bgcolor="#ffffff"></td>
<td colspan="2" bgcolor="#ffffff" height="auto" valign="top" width="200"><br></td>
<td align="left" bgcolor="#ffffff" height="auto" valign="top" width="600">
</td></tr></tbody></table></body></html>
Sie sehen, bei den Anweisungen für die
Höhe der Tabellenelemente wurde die Höhe auf
auto gesetzt, so dass die Höhe automatisch vom Browser angepasst wird.
Wenn ich in
NVU
Eingaben gemacht hatte, dann wurden diese immer zwischen den beiden
letzten Zeilen eingefügt. So ist es also ein Leichtes die
Suchzeichenfolgen für
Erkennung Start und
Erkennung Ende in der
Konfiguration von
DateiAuszug (eigentlich mal als reines Hilfsprogramm für die Umwandlung der einzelnen Termindateien gedacht) zu bestimmen.
Ich kann (Sie könnten) dort nun die ganze Zeile
<td align="left" bgcolor="#ffffff" height="auto" valign="top" width="600">
für
Erkennung Start nutzen und die ganze letzte Zeile für
Erkennung Ende.
</td></tr></tbody></table></body></html>Wenn Sie dann das Programm
DateiAuszug
starten und diese erzeugten Termin- und anderen Dateien damit
bearbeiten lassen hätten Sie fast alles, was das
PHP-Quelltextprogramm
Termine_Aktuell.php benötigt. Es fehlen nur noch die beiden Dateien die hinter
START_DATEI und
ENDE_DATEI angegeben waren. Aber das ist ja nun auch kein Problem mehr. Sie kopieren aus der Quelltextansicht Ihrer
termine_Vorlage.html (deren Namen Sie auch in
DateiAuszug an der entsprechenden Stelle eintragen sollten) alles bis einschließlich der bei
DateiAuszug für
Erkennung Start einzutragenden Zeichenfolge, im Beispiel also bis einschließlich
<td align="left" bgcolor="#ffffff" height="auto" valign="top" width="600">
in die hinter
START_DATEI angegebene Datei und dem dann noch folgenden Teil des Quelltextes, im Beispiel also
</td></tr></tbody></table></body></html>
in die hinter
ENDE_DATEI angegebenen Datei.
Diese
Dateien und auch die anderen (nicht unbedingt notwendigen) Dateien
brauchen Sie dann nie wieder zu bearbeiten, es sei denn, Sie
wollten im Erscheinungsbild Ihrer Terminanzeige etwas ändern.
Wenn Sie nun neue Termine eingeben und dann mit dem Programm
DateiAuszug
bearbeiten lassen, so können Sie die erzeugten Dateien (*.txt)
einfach nur in das betreffende Verzeichnis auf dem Server hochladen,
schon werden ab nächstem Tag die neuen Termine angezeigt. Wenn Sie
es aber sehr eilig haben mit der Anzeige, dann brauchen Sie nur die
aktuelle Anzeigedatei löschen.....
Übrigens
ist es keine schlechte Idee die korrekte Arbeitsweise und das
Zusammenspiel der einzelnen Dateien auf dem eigenen Rechner zumindest im Anfang mal
unter
xampp (eine freie und kostenlose Serverumgebung) zu testen.