Mitarbeiterseite braucht ewig und drei tage

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Mitarbeiterseite braucht ewig und drei tage

Beitrag von SethDeBlade »

Meine mitarbeiter-seite ist irgendwie komisch. wenn ich auf den link klicke, dann dauert es ewig, bis sich da mal was tut.

Page generation time: 35.1977s (PHP: 1% - SQL: 99%) - SQL queries: 51 - GZIP enabled - Debug off :eek:

woran könnte das liegen?? ich habe eine gruppe, die kann alle foren moderieren, quasi ein einfacher super-mod :D könnte das der grund sein?? oder ist es mal wieder das update??

hat jemand von euch ne idee??
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

99 % SQL sind der Grund. Also wenn Du solche Gruppen anlegst, bzw. User, dann kann das auch schon mal eine Weile dauern, bis diese Seite geladen wird.
Du könntest aber auch die Angaben ausblenden, dann ist die Seite deutlich schneller. Allerdings dann eben ohne die Anzeige der entsprechenden Foren.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

hm, und da gibt es ausser dem weglassen der infos keine andere möglichkeit?? würde die infos wer welche forum moderiert schon ganz gerne drin lassen ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die Staffpage macht 3 grosse SQL-Abfragen:

- Die Berechtigungen des aktuellen Users (der die Liste einsieht)
- Die Ränge der Mitarbeiter
- Die moderierten Foren

Das kann man nicht kombinieren und produziert daher eine Menge Datenbanklast. Gerade das letztere kann nur innerhalb einer Schleife laufen, da ansonsten die Berechtigungen Schwierigkeiten bereiten.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

ok, ich weiß woran es liegt. habe gerade nach dem try & error verfahren die routine gefunden, die für die lange pagegentime verantwortlich ist. es ist die routine, die die anzahl der user_topics und den letzten beitrag ausrechnet

Code: Alles auswählen

                        $sql_posts = "SELECT DISTINCT p.post_time, p.post_id, count(DISTINCT t.topic_id) AS user_topics
                                        FROM ". POSTS_TABLE ." p, ". TOPICS_TABLE ." t
                                        WHERE p.poster_id = '$user_id' AND t.topic_poster = '$user_id'
                                        GROUP BY p.post_time
                                        ORDER BY p.post_time DESC LIMIT 1";
wenn ich das (und alles damit zusammenhängende) auskommentiere, dann braucht die seite etwas über einer sekunde. kann man das irgendwie so schreiben, dass es schneller geht??

wenn nicht, dann lasse ich die beiden infos halt weg, auch kein drama
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich versuchs.

EDIT:
Ich habe mit folgender geänderter staff.php nun weniger als 2 Sekunden Ladezeit.
Probiers aus.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

wow, das ist schon mal ne echt verbesserung zur original version

Page generation time: 4.3055s (PHP: 9% - SQL: 91%) - SQL queries: 46 - GZIP enabled - Debug off

allerdings werden jetzt dur die anzahl der themen vom admin ausgerechnet. das letzte thema steht allerdings bei allen drin
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Oh ja, da war ein kleiner Tippelfehler enthalten. Anbei die korrigierte Datei.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Marc Hoff
Beiträge: 169
Registriert: Mo 09.Aug, 2004 10:59
Wohnort: Krefeld

Beitrag von Marc Hoff »

Ich hab auch eben den Staff-Page Mod heruntergeladen und versucht, zu installieren. Ich bekomme folgenden Fehler:

Code: Alles auswählen

could not obtain user information.

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near 'AND user_id NOT IN (1)) ORDER BY user_regdate' at line 1

SELECT * FROM phpbb_users WHERE user_level = 2 AND user_id NOT IN ( AND user_id NOT IN (1)) ORDER BY user_regdate

Line : 102
File : staff.php
Kann ich Eure staff.php auch haben oder vielleicht ein bißchen Hilfe, warum dieser Fehler kommt?

Danke.

Gruß,

Marc
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich kenne den mod nicht, aber

Code: Alles auswählen

user_id NOT IN ( AND user_id NOT IN (1))
kann nicht funktionieren!
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich weiß nicht, welche Version Du hast, aber versuche mal meine:
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Marc Hoff
Beiträge: 169
Registriert: Mo 09.Aug, 2004 10:59
Wohnort: Krefeld

Beitrag von Marc Hoff »

Hi,

ja, vielen Dank. Was immer das auch für eine Version war, jetzt klappt es besser. Allerdings habe ich, sofern ich das include vom Impressum drin lasse, noch eine Fehlermeldung:

Code: Alles auswählen

Fatal error: Cannot redeclare class template in /www/htdocs/v1246/includes/template.php on line 31
Idee?

Gruß,

Marc
Benutzeravatar
Bootenks
Beiträge: 1836
Registriert: Sa 29.Mai, 2004 23:36
Wohnort: G?rlitz (?stlichste Stadt Deutschlands)

Beitrag von Bootenks »

Der Fehler kommt wenn du mind. zweimal was inkludierst :-P! Schau mal in der Datei nach in der du das Impressum iinkludierst ob es zweimal auftritt! Es kann passieren das wenn das Include sich in einer Schleife befindet somit mehrmals geöffnet wird. Um das zu verhindern ändere: include in include_once
Zuletzt geändert von Bootenks am Di 29.Mär, 2005 10:09, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du musst dann die includes der page_header.php und page_tail.php, sowie die Anbindung an das phpBB selber entfernt werden.
Anbei meine impressum.php:
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Marc Hoff
Beiträge: 169
Registriert: Mo 09.Aug, 2004 10:59
Wohnort: Krefeld

Beitrag von Marc Hoff »

Ist ja witzig, wenn ich Deine Impressum-Datei nehme und das Include in der staff.php wieder reinnehme, dann bekomm ich Hacking Attempt.

Ist das mit mir noch normal oder bin ich einfach zu blöd?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

An welcher Stelle includierst Du die impressum.php?
Vor oder nach

Code: Alles auswählen

define('IN_PHPBB', true);
???
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Marc Hoff
Beiträge: 169
Registriert: Mo 09.Aug, 2004 10:59
Wohnort: Krefeld

Beitrag von Marc Hoff »

Also beim Klick auf MITARBEITERSEITE kommt diese aber ohne Impressum.

Beim Klick auf IMPRESSUM kommt Hacking Attempt.

Hier die beiden Dateien (die impressum.php ist original Deine).

Gruß,

Marc
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Moment!
Meine impressum.php ist so geändert, daß sie nur includiert funktioniert.
Was ich allerdings vergessen hatte zu erwähnen, ist der Punkt, daß Du in der staff_body.tpl noch an der gewünschten Stelle

Code: Alles auswählen

{IMPRESSUM}
eintragen musst, damit das Impressum dann auch wirklich erscheint. Das kann z.B. ganz am Ende der TPL geschehen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Marc Hoff
Beiträge: 169
Registriert: Mo 09.Aug, 2004 10:59
Wohnort: Krefeld

Beitrag von Marc Hoff »

Wow! Das ist so cool - endlich hab ichs mal ein bisschen geblickt. Danke. Jetzt ist alles so wie es soll.

Gruß,

Marc
Antworten