Nachfolgend Antworten oder Tipps zu einigen Fragen, die sich im Laufe der Jahre wiederholt haben. Bei entsprechendem Anlass werden Ergänzungen folgen.
- 1. Installation:
Die Fehlermeldungen gehen in der Regel darauf zurück, dass vom Programm keine Verbindung zur Datenbank hergestellt werden kann. Zwei "klassische" Fehler sind in den meisten Fällen die Ursache:
1. Bei der Eingabe der Zugangsdaten zur Datenbank (Datenbankhost, Datenbankname, Benutzername, Passwort) wird unbemerkt ein Leerzeichen, meist am Anfang oder am Ende der Eingabe, mit eingefügt. Das kann am ehesten passieren, wenn die Zugangsdaten nicht eingetippt, sondern per "Copy and paste" in die Eingabefelder eingefügt werden.
Lösung: Die Vermeidung dieses Fehlers liegt auf der Hand.
2. Eine weitere immer mal wieder anzutreffende Ursache kann im Passwort zum Datenbankzugriff liegen. Wenn in diesem Passwort Sonderzeichen wie z.B. $ oder / oder ähnliches enthalten sind, kann es sein, dass diese vom Installationsscript maskiert werden und so das Passwort verfälscht wird.
Lösung: Das Datenbankpasswort so ändern, dass möglichst keine oder nur die vom Programm als problemlos angezeigten Sonderzeichen enthalten sind. Bei der Eingabe potentiell problematischer Sonderzeichen wird das Eingabefeld rot unterlegt und mit einem Warnsymbol markiert. Beim Überfahren des Warnsymbols mit der Mouse werden die unproblematischen Zeichen angezeigt.
Die für das Einloggen notwendige Session kann nicht angelegt werden, es fehlt das hierfür notwendige Verzeichnis auf dem Server. Ein Problem, dass in den Anfangszeiten des myPHP Guestbook öfters, heute allerdings nur noch sehr selten auftritt.
Lösung: Siehe die Beschreibung in der dem Downlaod beigefügten "ReadMe.pdf".
Grundsätzlich ist das möglich. Die Gästebucheinträge müssen dafür aus der SQL-Tabelle des "alten" Gästebuchs in die entsprechende Tabelle des myPHP Guestbook importiert werden.
Die Schwierigkeit besteht dabei darin, dass praktisch jeder Anbieter eines solchen PHP-Gästebuch-Skripts eigene Namen (Bezeichnungen) für die entsprechende Tabelle und deren jeweiligen Spalten für User-Namen, Zeitangaben, Einträge usw. verwendet. Einfach ein Backup der "alten" Tabelle nutzen, um das dann in die "neue" Tabelle einzuspielen, wird daher nicht funktionieren, weil die Tabellen-Bezeichnungen sich nicht entsprechen.
Lösung: Herr Pierre Linssen (Niederlande) hat sich die Mühe gemacht, eine Anleitung zu verfassen, in der Schritt-für-Schritt beschrieben wird, wie man mit dem praktisch von jedem Provider zur Verfügung gestellten Programm "phpMyAdmin" eine solche Datenübertragung schnell und einfach durchführen kann. Diese Anleitung finden Sie hier als ausdruckbare PDF-Datei.
- 2. Nutzung:
Ein kritischer Punkt, nach dem immer wieder gefragt wird, obwohl dessen Vermeidung sowohl in der "Hilfe" zum myPHP Guestbook wie auch im Gästebuch auf dieser Website wiederholt beschrieben wurde.
Bei der Installation des myPHP Guestbook wird automatisch geprüft, ob die Verbindung zur Installationsdatei über eine gesicherte https-Verbindung erfolgt oder nicht. Das Ergebnis dieser Prüfung wird in der Konfigurationsdatei gesichert. Erfolgt nun nachträglich eine Umstellung von "http" auf "https", muss die interne Verlinkung des Gästebuchs entsprechend der Vorgabe in der Konfigurationsdatei angepasst werden.
Lösung: Die Datei "config.inc.php" aus dem Verzeichnis "includes" vom Server auf den eigenen Rechner herunterladen. Die Datei mit einem Editor öffnen. Die Angaben zum Pfad bei den Variablen $url und $url02 von "http" auf "https" ändern, die Änderung speichern, Datei neu auf den Server laden. Das war's.
Selbe Ursache und identische Lösung wie die Frage zuvor, siehe oben.
Ja, der nach einer Installation vordefinierte Schutz, dass jedes neu hochgeladene und in einem Gästebucheintrag eingestellte Bild zunächst gesperrt ist und erst nach der Einzelfallprüfung und Freigabe durch den Admin sichtbar wird, kann auf Wunsch deaktiviert werden.
Lösung: Siehe die Anleitung im Abschnitt "Weitere Konfigurationsmöglichkeiten" unter dem Link "Hilfe" im Admin-Panel.
Wenn eine neue Version des myPHP Guestbook eine neue CSS-Datei erhält, dann nur, weil dies als notwendig erachtet wird, z.B. weil neue Funktionen hinzugekommen sind, die die Darstellung auf dem Bildschirm beeinflussen, weil optische Features hinzugefügt oder auch Darstellungsmängel behoben wurden. Um sicher zu stellen, dass die aufrufenden Browser auch die neue CSS laden und verwenden und nicht die alte Datei aus dem Cache, wird nicht nur der Inhalt bzw. Code einfach geändert, sondern die Datei erhält auch jeweils einen neuen Namen.
Um die frühere CSS-Datei weiter zu nutzen, müsste sie also entweder auf den aktuellen Namen umbenannt oder der Pfad zur Einbindung müsste entsprechend angepasst werden. Wer das macht, sollte sich jedoch über anschließende Darstellungsmängel nicht wundern oder beschweren.
Es ist grundsätzlich weder ratsam noch notwendig, an der ausgelagerten, externen CSS-Datei irgendwelche Änderungen vorzunehmen. Dies erschwert und kompliziert ein Update des Scripts völlig unnötig. Jede individuell gewünschte Anpassung eines oder mehrerer Styles kann (und sollte!) im Admin-Bereich unter dem Block "CSS-Style" und dort dem Link "Style editieren" vorgenommen werden. Das gilt auch für Styles, die in der externen Datei bereits enthalten sind. Denn der Code, der unter "Standard Style" im Admin-Panel eingestellt wird, wird nach der externen Datei eingelesen und überschreibt damit ggf. anderslautende Styles in dieser ausgelagerten CSS.
Diese sich stereotyp wiederholende Anfrage ist neben der rund um die Umstellung auf "https" der Klassiker. Aus verständlichen Gründen werde ich an dieser Stelle keine To-Do-Liste ins Netz stellen. - Deshalb hier zunächst nur zwei Hinweise:
1. Ab und an mal ins eigene E-Mail-Postfach schauen.
2. Wer nur das Passwort vergessen hat, aber zumindest noch seinen Nutzernamen und die Admin-E-Mail Adresse kennt, lässt sich spätestens nach drei erfolglosen Login-Versuchen über die "Passwort-vergessen" Funktion ein Ersatzpasswort schicken.
Wegen dem, was darüber hinaus geht: Bei mir melden.
Nein, ein Captcha oder irgendwelche Sicherheitsabfragen, zu lösende Rechenaufgaben oder ähnliches sind nicht notwendig. Der eingebaute automatische Spamfilter überprüft Einträge im Gästebuch beim Klick auf den Button zum Eintragen/Speichern zuverlässig nach typischen Merkmalen von Spam und verhindert kritische Bot-Eingaben sicher.
Und bitte: Wer das jetzt liest muss sich nicht dransetzen, um zu beweisen, dass er gleichwohl in der Lage ist, irgendwelchen hirnlosen Mist zu posten. - Der Spamfilter ist auf die Verhinderung von automatisierten Bot-Eingaben ausgerichtet, nicht zum Schutz vor menschlichen Spinnern. Letztere kann auch ein Captcha nicht bremsen.
Wenn eine ältere Version des myPHP Guestbook installiert ist, die plötzlich nicht mehr funktioniert, liegt die Ursache meist darin, dass der Provider auf eine neue, aktuellere PHP-Version umgestellt hat. So wurden z.B. durch die PHP-Versionen 7.0, 7.2 und 7.4 einige Funktionen in PHP als veraltet markiert oder teils auch ganz aus PHP entfernt, die in den alten Gästebuchversionen noch gebraucht werden.
Dieses Problem lässt sich vermeiden, wenn stets die aktuellste Version des myPHP Guestbook installiert ist und erforderlichenfalls ein entsprechendes Update vorgenommen wird. Welche PHP-Version mit welcher Version des myPHP Guestbook kompatibel ist, kann auch HIER überprüft werden.
Es gibt zwei mögliche Ursachen, warum der vom Programm bei bestimmten Aktionen vorgesehene automatisch E-Mail Versand ggf. nicht funktioniert:
1. Die hinterlegte E-Mail Adresse des Admin enthält einen Schreib- oder Tippfehler. Bitte prüfen, auch auf irrtümlich fehlerhaft mit gespeicherte Leerstellen und ggf. korrigieren.
2. Die häufigste Ursache liegt jedoch an einer anderen Stelle:
Das myPHP Guestbook nutzt für den Mail-Versand die in PHP implementierte Funktion "mail()". Manche Provider schränken diese Funktion ein. Das kann auf verschiedenen Wegen geschehen.
Teilweise wird einfach nur die Anzahl der innerhalb einer bestimmten Zeitspanne auf diesem Weg mit PHP generierten und verschickten Mails begrenzt, was für die Nutzung des myPHP Guestbook in der Regel kein Problem ist, weil sich die Zahl der verschickten Mails in Grenzen hält.
Andere Provider haben den Server so konfiguriert, dass im Header der Mail als Absender zwingend ein Mail Account erscheinen muss, der bei dem jeweiligen Provider angelegt wurde. - Auch das ist für das myPHP Guestbook unproblematisch, weil die Absender-E-Mail Adresse im Admin-Panel individuell hinterlegt werden kann.
Wiederholt ergab sich ein Problem mit dem automatischen Mail-Versand auch durch eine bei einigen Providern mögliche Einstellung zur Beschleunigung von PHP-Anwendungen. Bei "Strato" nennt sich das z.B. "PHP Boost", bei anderen Providern "PHP turbo" o.ä.. Diese Einstellung sollte deaktiviert werden, was das Problem oftmals löst.
Und schließlich gibt es noch die Fälle, in denen ein Provider den Mail-Versand mit PHP gänzlich unterbunden hat. - Daran lässt sich natürlich mit dem Programm nichts ändern. Hier kann allenfalls eine Kontaktaufnahme mit dem Provider und die Bitte, die "mail()"-Funktion freizugeben, weiterhelfen.
Sowohl auf der Seite für die Anzeige der Gästebucheinträge wie auch auf der Seite für einen neuen Eintrag sind sogen. Anker enthalten als Sprungziel, wenn zwischen mehreren Einträgen geblättert, eine Eintragsvorschau aufgerufen wird oder ähnliches. Da im Einzelfall nicht bekannt ist, ob und mit welchen Dimensionen eine solche Kopfzeile auf der Seite, in die das myPHP Guestbook eingebettet wird, vorhanden ist, kann das bei der Festlegung des Sprungziels nicht im Vorhinein berücksichtigt werden.
Eine Lösung ist jedoch einfach:
Im Admin Control Panel den Link "Style editieren" anklicken, den verwendeten Style zur Bearbeitung öffnen und am Ende folgendes einfügen:
#anchor-gbooktop, #anchor-gbooktop02 {display:block; height:0; position:relative; top:-80px}
Die Angabe in diesem Beispiel: top:-80px ist natürlich willkürlich bzw. geraten. Der (negative!) Wert muss je nach Höhe des verwendeten Headers ausprobiert und angepasst werden.
- 3. Datenschutz:
In der Datenbanktabelle, in der die einzelnen Gästebucheinträge gespeichert werden, wird zu dem jeweiligen Eintrag keine IP mit gesichert. Soweit bei bestimmten Funktionen aus Schutz vor Missbrauch die IP eines Besuchers erfasst wird, geschieht dies in der Regel lediglich anonymisiert und zeitlich befristet in gesonderten Datenbanktabellen. Die anonymisierten IPs sind nicht mehr personalisierbar und können daher auch keiner Person oder einem Anschluss zugeordnet werden.
Nur IPs von Spameinträgen werden im Klartext zeitlich befristet gesichert. Dies dient der Wahrnehmung berechtigter Interessen. Auch diese Funktion kann jedoch im Admin-Bereich deaktiviert werden, so dass überhaupt keine IPs erfasst werden, weder bei Spameinträge noch in anonymisierter Form.
Vom Skript myPHP Guestbook werden je nach Konfiguration bis zu vier technisch notwendige Session-Cookies eingesetzt, von denen jedoch nur maximal zwei die "normalen" Besucher einer Website betreffen. Die anderen beiden betreffen nur den Admin und werden ausschließlich im Rahmen des Admin-Bereichs aktiv.
Die maximal zwei Cookies, die jeden treffen können, erfassen keine persönlichen Daten des Users, sondern der eine beinhaltet nur eine vom Server gebildete Session-ID, der andere die vom Besucher ggf. gewählte Spracheinstellung. Beide Cookies werden mit dem Schließen des Browserfensters durch den User unwirksam und wieder gelöscht. Auch das Setzen dieser (unproblematischen) Cookies kann vom Admin vollständig deaktiviert werden. Für weitere Einzelheiten siehe den Abschnitt "Datenschutz und das myPHP Guestbook" unter dem Link "Hilfe" im Admin-Bereich.