Wenn man Beiträge schreibt, kommen Nebenbeiträge!
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
und hier ist die datei von dem who_is_online thema!
page_header
also manchmal klappt es, da steht dann auch da, 1 mitglied im forum!
aber öfters steht da, 0 mitglieder im forum!
aber kannst dir nochmal die datei anschauen!
MFG
Danke
page_header
also manchmal klappt es, da steht dann auch da, 1 mitglied im forum!
aber öfters steht da, 0 mitglieder im forum!
aber kannst dir nochmal die datei anschauen!
MFG
Danke
Zuletzt geändert von Richi2 am 12.02.2007 16:13, insgesamt 2-mal geändert.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Tja den Fehler habe ich schon mal gefunden, er resultiert aus der Verwendung von gleichen Variablennamen in der page_header.php und in der viewtopic.php. Der Übeltäter heißt $total_posts. Im page_header steht er für die Anzahl der Posts im Forum, während das im viewtopic.php für die Anzahl der darzustellenden Posts steht. Da der page_header allerdings nach der Festlegung des Inhalts von $total_posts in der viewtopic.php aufgerufen wird resultiert daraus, dass die Variable die Anzahl der Posts im gesamten Forum enthält. Dann wird eine Schleife durchlaufen mit $total_posts als Anzahl der Durchläufe wobei jedes mal ein Post ausgegeben wird.(Gut dass ich nicht auf die Idee gekommen bin das Skript in einer Backupversion meines Forums mit 14.000 Beiträgen zu testen...).
Abhilfe:
Da ich nicht weiß, in wie vielen anderen Dateien ein ähnliches Problem auftreten könnte werden wir den neu eingefügten Code ändern und zur Sicherheit (und weil ich das ziemlich einfach finde) alles in eine Funktion packen.
Finde also in der page_header.php
ersetze durch
Finde dann
und füge dahinter
ein.
Eigentlich sollte das das Problem beheben.
EDIT: Der andere Fehler mit der falschen Anzahl an Users Online taucht bei mir nicht auf...
Allerdings hast du meine Anweisungen im anderen Thema offenbar nicht 100% exakt befolgt, denn etwas, das vor einer schließenden Klammer ( } ) stehen sollte steht bei deinem Code dahinter. Dass daher der Fehler kommt glaube ich aber nicht, da die Zugehörige IF Abfrage so oder so keinerlei Wirkung mehr hat. Für das zukünftige Modden wäre es aber sehr sinnvoll wenn du die Anweisungen exakter ausführst, denn es kann durchaus einen Unterschied machen ob ein Code konditional oder immer ausgeführt wird.
Abhilfe:
Da ich nicht weiß, in wie vielen anderen Dateien ein ähnliches Problem auftreten könnte werden wir den neu eingefügten Code ändern und zur Sicherheit (und weil ich das ziemlich einfach finde) alles in eine Funktion packen.
Finde also in der page_header.php
Code: Alles auswählen
//
// If you don't use these stats on your index you may want to consider
// removing them
//
Code: Alles auswählen
function show_online_box_everywhere()
{
global $lang, $images,$template;
//
// If you don't use these stats on your index you may want to consider
// removing them
//
Code: Alles auswählen
$template->assign_vars(array(
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'),
'FORUM_IMG' => $images['forum'],
'FORUM_NEW_IMG' => $images['forum_new'],
'FORUM_LOCKED_IMG' => $images['forum_locked'],
'L_FORUM' => $lang['Forum'],
'L_TOPICS' => $lang['Topics'],
'L_REPLIES' => $lang['Replies'],
'L_VIEWS' => $lang['Views'],
'L_POSTS' => $lang['Posts'],
'L_LASTPOST' => $lang['Last_Post'],
'L_NO_NEW_POSTS' => $lang['No_new_posts'],
'L_NEW_POSTS' => $lang['New_posts'],
'L_NO_NEW_POSTS_LOCKED' => $lang['No_new_posts_locked'],
'L_NEW_POSTS_LOCKED' => $lang['New_posts_locked'],
'L_ONLINE_EXPLAIN' => $lang['Online_explain'],
'L_MODERATOR' => $lang['Moderators'],
'L_FORUM_LOCKED' => $lang['Forum_is_locked'],
'L_MARK_FORUMS_READ' => $lang['Mark_all_forums'],
'U_MARK_READ' => append_sid("index.$phpEx?mark=forums"))
);
Code: Alles auswählen
}
show_online_box_everywhere();
Eigentlich sollte das das Problem beheben.
EDIT: Der andere Fehler mit der falschen Anzahl an Users Online taucht bei mir nicht auf...
Allerdings hast du meine Anweisungen im anderen Thema offenbar nicht 100% exakt befolgt, denn etwas, das vor einer schließenden Klammer ( } ) stehen sollte steht bei deinem Code dahinter. Dass daher der Fehler kommt glaube ich aber nicht, da die Zugehörige IF Abfrage so oder so keinerlei Wirkung mehr hat. Für das zukünftige Modden wäre es aber sehr sinnvoll wenn du die Anweisungen exakter ausführst, denn es kann durchaus einen Unterschied machen ob ein Code konditional oder immer ausgeführt wird.
Zuletzt geändert von gn#36 am 12.02.2007 17:05, insgesamt 1-mal geändert.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Dann hast du was falsch gemacht beim Einbau... ich vermute mal dass das jetzt an der fehlplatzierten schließenden Klammer liegt...
Zeig mal die Datei her.
Und die Fehlermeldung bitte auch(Zeilennummer)!
Zeig mal die Datei her.
Und die Fehlermeldung bitte auch(Zeilennummer)!
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Entschuldige, in meiner Anweisung fehlte ein Semikolon:
statt 
Code: Alles auswählen
show_online_box_everywhere();
Code: Alles auswählen
show_online_box_everywhere()

Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
ist doch überhaupt nicht schlimm!
wir sind doch alle nur Menschen!
Aber kannst du dir das nochmal wegen dem who_is_online anschauen!
bei mir steht manchmal auch wenn eher selten 1 benutzer ist im forum,
öfters steht immernoch 0 mitglieder im forum!
aber das ganze ist nur wenn ich in einen beitrag reingehe oder halt in eine kategorie! mit der index seite ist soweit alles ok!
was kann hier noch ein fehler sein?
MFG
wir sind doch alle nur Menschen!

Aber kannst du dir das nochmal wegen dem who_is_online anschauen!
bei mir steht manchmal auch wenn eher selten 1 benutzer ist im forum,
öfters steht immernoch 0 mitglieder im forum!
aber das ganze ist nur wenn ich in einen beitrag reingehe oder halt in eine kategorie! mit der index seite ist soweit alles ok!
was kann hier noch ein fehler sein?
MFG
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
EDIT: Zur besseren Übersicht: Das zugehörige andere Thema findet sich hier
Oha, diese Modifikation hat anscheinend so ihre Tücken...
Dieser Fehler liegt daran, dass der Code für das Viewonline nicht allein für die Anzeige des Viewonlines auf dem Index zuständig ist, sondern ebenfalls für die in den einzelnen Foren. Ob gerade ein Forum aufgerufen ist, wird abgefragt und wenn ja dann die Abfrage auf dieses Forum beschränkt. Somit zeigt die Viewonline Anzeige auch immer nur die Personen an, die im Forum sind. Da das mit der Session zusammenhängt und die nicht ständig aktualisiert wird ergeben sich da wohl mal ab und zu Differenzen. Um das zu beheben sind ein paar andere Veränderungen nötig, Moment.
EDIT:So, schwere Geburt...
Diese Modifikation funktioniert so nur korrekt, wenn du das auch tatsächlich im overall_header.tpl einbaust, es wird NICHT in jeder beliebigen Datei funktionieren. Das liegt daran, dass das eben noch von anderen Dingen verwendet wird.
Als erstes verschieben wir den Start der Funktion ein wenig nach vorne:
finde
direkt dahinter kommt
Als nächstes den alten Funktionsstart löschen.
Also weg mit
Dann muss noch eine kleine Modifikation im Code her:
Finde
DAVOR einfügen:
finde
DAVOR einfügen
finde
DAVOR einfügen
So, wie man sieht etwas komplizierter, ich hoffe ich habe jetzt keine Änderungen, die ich vorgenommen hatte vergessen. Wenn doch wirst du das vermutlich merken...
Oha, diese Modifikation hat anscheinend so ihre Tücken...
Dieser Fehler liegt daran, dass der Code für das Viewonline nicht allein für die Anzeige des Viewonlines auf dem Index zuständig ist, sondern ebenfalls für die in den einzelnen Foren. Ob gerade ein Forum aufgerufen ist, wird abgefragt und wenn ja dann die Abfrage auf dieses Forum beschränkt. Somit zeigt die Viewonline Anzeige auch immer nur die Personen an, die im Forum sind. Da das mit der Session zusammenhängt und die nicht ständig aktualisiert wird ergeben sich da wohl mal ab und zu Differenzen. Um das zu beheben sind ein paar andere Veränderungen nötig, Moment.
EDIT:So, schwere Geburt...
Diese Modifikation funktioniert so nur korrekt, wenn du das auch tatsächlich im overall_header.tpl einbaust, es wird NICHT in jeder beliebigen Datei funktionieren. Das liegt daran, dass das eben noch von anderen Dingen verwendet wird.
Als erstes verschieben wir den Start der Funktion ein wenig nach vorne:
finde
Code: Alles auswählen
if (defined('SHOW_ONLINE'))
{
Code: Alles auswählen
function show_online_box_everywhere($forum_id=0,$display_forum=false)
{
if(!$display_forum)
{
unset($forum_id);
}
global $lang, $images,$template,$theme,$userdata,$board_config,$db;
global $logged_visible_online,$logged_hidden_online,$guests_online,$online_userlist,$l_online_users;
Also weg mit
Code: Alles auswählen
function show_online_box_everywhere()
{
global $lang, $images,$template;
Finde
Code: Alles auswählen
//
// If you don't use these stats on your index you may want to consider
// removing them
//
Code: Alles auswählen
if(!$forum_id)
{
Code: Alles auswählen
show_online_box_everywhere();
Code: Alles auswählen
}
Code: Alles auswählen
?>
Code: Alles auswählen
if(isset($forum_id)&& defined('SHOW_ONLINE') && $forum_id)
{
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = '';
$l_online_users = '';
show_online_box_everywhere($forum_id,true);
$template->assign_vars(array(
'TOTAL_USERS_ONLINE' => $l_online_users,
'LOGGED_IN_USER_LIST' => $online_userlist,
));
}
Zuletzt geändert von gn#36 am 30.03.2007 00:09, insgesamt 1-mal geändert.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.