05.12.2007, 11:52:47
Hallo,
zunächst einmal ist es ein wirklich gelungenes Gästebuch geworden (- das ist wohl der Grund dafür, dass ich es verwenden möchte... ).
Ich verwende PHP 4.3.4.4 auf einem IIS 6 mit MySql 5 auf dem localhost (da noch in der Entwicklungsphase).
Ich habe ein paar Sachen, die mir aufgefallen sind und mir teilweise noch Kopfzerbrechen bereiten.
1. Installation des Gästebuchs mit Session (warum?)... war aber nicht das Problem.
2. Auf meiner Test-DB wollte ich den User 'anonymous' (ohne Passwort) nutzen, musste aber im Code die zwingende Eingabe des Passwortes erst deaktivieren... war aber nicht das Problem.
3. Nach der Installation wollte ich einen neuen Eintrag erstellen, aber ich bekam immer die Fehlermeldung dass die Email nicht gesendet werden kann. Es ging da, glaube ich, um den 'from:'-Header... Ich habe etwas recherchiert und herausbekommen, dass das mit dem IIS und ohne Mailserver nicht funktioniert, also habe ich das in der DB ersteinmal deaktiviert. Das wäre vielleicht einen Punkt in der Installationsanleitung wert.
4. Nach der Installation wollte ich einen neuen Eintrag erstellen, aber ich bekam die Fehlermeldung 'comment hat keinen Wert für default'. Das habe ich dann umgangen, indem ich im INSERT-Statement (newentry.php, Zeilen 142-173) der Spalte 'comment' ein Leerzeichen mitgegeben habe... ich bin mir jetzt nicht sicher, ob ich das so lassen soll, bzw. ob es damit Schwierigkeiten an anderer Stelle geben kann.
5. Das Einloggen in den Admin-Bereich hat nicht funktioniert und funktioniert auch jetzt noch nicht richtig. Anfangs war es so, dass beim Einloggen erst die Meldung kam, dass ich angemeldet bin, in der DB der Status 'logged_out' in der 'mgb_user' auf 0 gesetzt wird, ich aber dann nicht auf die Administrationsseite komme, sondern wieder im Login-Dialog lande. Nach nochmaligem Einlog-Versuch bekomme ich (da logged_out=0) natürlich die Fehlermeldung, dass ich mich nicht richtig abgemeldet habe. Nach einigen Tests habe ich festgestellt, dass $_SESSION['ID'] in der admin.php, Zeile 79 NULL ist, aber ich weiß nicht warum. Außerdem weiß ich nicht, warum in der 'functions.inc.php' in den UPDATE-Statements (Zeilen 574 und 590) anstatt '.secure_value($sessid).' nur '.$sessid.' steht. Bei mir hatte das UPDATE in der DB erst nach der Änderung funktioniert. Ich habe, um die Administratorseite überhaupt einmal zu sehen, in der 'admin.php' in der Zeile 79 'isset($_SESSION['ID'])' auskommentiert. Aber das ist auch nicht das Wahre. Vielleich hast Du ja eine Idee, was da beim Session-Handling nicht hinhaut?!
6. Es wurde schon an anderer Stelle danach gefragt... Ich habe eine zweisprachige Website und würde gern die Sprache des Gästebuchs dynamisch mitgeben. Kannst Du mir ( - weil Du ja den Überblick hast - ) sagen, wo welche Änderungen vorgenommen werden müssen, damit das möglich wird? Vielleicht ist es ja möglich, vor dem GB-Aufruf ein DB-UPDATE in der Tabelle 'mgb_settings' vorzunehmen, falls eine Sprache mitgegeben wird?! Ach nein, das funktioniert nicht sauber bei gleichzeitigen oder kurz aufeinander folgenden Zugriffen. Vielleicht ist es besser eine zusätzliche Tabelle 'settings_laguages' (, die einfach nur eine ID und das Sprachenkürzel 'de', 'en' usw. enthält,) mit einer Verknüpfungstabelle 'mgb_settings_detail', die die sich ändernden Daten aus der 'mgb_settings' enthalten, anzulegen und dann darauf mit zuzugreifen. Dann könnte man in der 'index.php' die 'require'-Anweisungen für die Sprache auf $_GET abprüfen (z.B.: if(isset($_GET['lang']) && $_GET['lang'] = 'en'){...} ) und '&lang=en' entsprechend durchreichen und in der 'index_body.tpl' noch eine entsprechende Variable für die Linkerweiterung anlegen (z.B.: <a href="email.php?id=admin{LANG_ADMIN_LINK_EXTENSION}"), aber, wie gesagt, es müsste noch eine weitere Tabelle mit abgefragt werden, in der die englischen Begriffe für 'mgb_settings.title', '~.sendmail_admin_text', '~.sendmail_user_text' usw. enthalten sind...
7. Das englische Datumsformat: '04/12/2007 at 16:30 am/pm(?!)' :shock:
8. Die englische Sprachdatei... :shock: Man hat sich viel Arbeit gemacht, aber da gibt es eine Menge Fehler.
Danke für Deine Hilfe.
Sebastian.
zunächst einmal ist es ein wirklich gelungenes Gästebuch geworden (- das ist wohl der Grund dafür, dass ich es verwenden möchte... ).
Ich verwende PHP 4.3.4.4 auf einem IIS 6 mit MySql 5 auf dem localhost (da noch in der Entwicklungsphase).
Ich habe ein paar Sachen, die mir aufgefallen sind und mir teilweise noch Kopfzerbrechen bereiten.
1. Installation des Gästebuchs mit Session (warum?)... war aber nicht das Problem.
2. Auf meiner Test-DB wollte ich den User 'anonymous' (ohne Passwort) nutzen, musste aber im Code die zwingende Eingabe des Passwortes erst deaktivieren... war aber nicht das Problem.
3. Nach der Installation wollte ich einen neuen Eintrag erstellen, aber ich bekam immer die Fehlermeldung dass die Email nicht gesendet werden kann. Es ging da, glaube ich, um den 'from:'-Header... Ich habe etwas recherchiert und herausbekommen, dass das mit dem IIS und ohne Mailserver nicht funktioniert, also habe ich das in der DB ersteinmal deaktiviert. Das wäre vielleicht einen Punkt in der Installationsanleitung wert.
4. Nach der Installation wollte ich einen neuen Eintrag erstellen, aber ich bekam die Fehlermeldung 'comment hat keinen Wert für default'. Das habe ich dann umgangen, indem ich im INSERT-Statement (newentry.php, Zeilen 142-173) der Spalte 'comment' ein Leerzeichen mitgegeben habe... ich bin mir jetzt nicht sicher, ob ich das so lassen soll, bzw. ob es damit Schwierigkeiten an anderer Stelle geben kann.
5. Das Einloggen in den Admin-Bereich hat nicht funktioniert und funktioniert auch jetzt noch nicht richtig. Anfangs war es so, dass beim Einloggen erst die Meldung kam, dass ich angemeldet bin, in der DB der Status 'logged_out' in der 'mgb_user' auf 0 gesetzt wird, ich aber dann nicht auf die Administrationsseite komme, sondern wieder im Login-Dialog lande. Nach nochmaligem Einlog-Versuch bekomme ich (da logged_out=0) natürlich die Fehlermeldung, dass ich mich nicht richtig abgemeldet habe. Nach einigen Tests habe ich festgestellt, dass $_SESSION['ID'] in der admin.php, Zeile 79 NULL ist, aber ich weiß nicht warum. Außerdem weiß ich nicht, warum in der 'functions.inc.php' in den UPDATE-Statements (Zeilen 574 und 590) anstatt '.secure_value($sessid).' nur '.$sessid.' steht. Bei mir hatte das UPDATE in der DB erst nach der Änderung funktioniert. Ich habe, um die Administratorseite überhaupt einmal zu sehen, in der 'admin.php' in der Zeile 79 'isset($_SESSION['ID'])' auskommentiert. Aber das ist auch nicht das Wahre. Vielleich hast Du ja eine Idee, was da beim Session-Handling nicht hinhaut?!
6. Es wurde schon an anderer Stelle danach gefragt... Ich habe eine zweisprachige Website und würde gern die Sprache des Gästebuchs dynamisch mitgeben. Kannst Du mir ( - weil Du ja den Überblick hast - ) sagen, wo welche Änderungen vorgenommen werden müssen, damit das möglich wird? Vielleicht ist es ja möglich, vor dem GB-Aufruf ein DB-UPDATE in der Tabelle 'mgb_settings' vorzunehmen, falls eine Sprache mitgegeben wird?! Ach nein, das funktioniert nicht sauber bei gleichzeitigen oder kurz aufeinander folgenden Zugriffen. Vielleicht ist es besser eine zusätzliche Tabelle 'settings_laguages' (, die einfach nur eine ID und das Sprachenkürzel 'de', 'en' usw. enthält,) mit einer Verknüpfungstabelle 'mgb_settings_detail', die die sich ändernden Daten aus der 'mgb_settings' enthalten, anzulegen und dann darauf mit zuzugreifen. Dann könnte man in der 'index.php' die 'require'-Anweisungen für die Sprache auf $_GET abprüfen (z.B.: if(isset($_GET['lang']) && $_GET['lang'] = 'en'){...} ) und '&lang=en' entsprechend durchreichen und in der 'index_body.tpl' noch eine entsprechende Variable für die Linkerweiterung anlegen (z.B.: <a href="email.php?id=admin{LANG_ADMIN_LINK_EXTENSION}"), aber, wie gesagt, es müsste noch eine weitere Tabelle mit abgefragt werden, in der die englischen Begriffe für 'mgb_settings.title', '~.sendmail_admin_text', '~.sendmail_user_text' usw. enthalten sind...
7. Das englische Datumsformat: '04/12/2007 at 16:30 am/pm(?!)' :shock:
8. Die englische Sprachdatei... :shock: Man hat sich viel Arbeit gemacht, aber da gibt es eine Menge Fehler.
Danke für Deine Hilfe.
Sebastian.