Fehlermeldung beim Aufrufen eines nicht existierenden Beitra

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Fehlermeldung beim Aufrufen eines nicht existierenden Beitra

Beitrag von Dr.Death »

Hallo zusammen,

jetzt hab sogar ich mal ein Problem, welches ich nicht durch Eure Hilfe lösen kann. ( Ich habe gerade ein Brett vor dem Kopf )

Beim aufrufen eines nicht existierenden Beitrags:

http://www.lpi-clan.de/viewtopic.php?f=26&t=4299

erhalte ich die Fehlermeldung:
Warning: strtr() [function.strtr]: The second argument is not an array. in /var/www/web16/html/phpbb3/includes/session.php on line 2183
Die includes/sessions.php Zeile 2183 besagt nur:

Code: Alles auswählen

return strtr(@gmdate($date_cache[$format]['format_long'], $gmepoch + $zone_offset), $date_cache[$format]['lang']);
Ich habe mir bereits das zweite Argument ausgegeben ( $date_cache[$format]['lang'] ) und es ist : Leer !
Bei jedem vorhandenem Beitrag ist es ein gefülltes Array.

Die Variable $date_cache[$format]['lang'] wird im folgenden Block gefüllt:

Code: Alles auswählen

			$date_cache[$format] = array(
				'is_short'		=> strpos($format, '|'),
				'format_short'	=> substr($format, 0, strpos($format, '|')) . '||' . substr(strrchr($format, '|'), 1),
				'format_long'	=> str_replace('|', '', $format),
				'lang'			=> $this->lang['datetime'],
			); 
Demnach ist:
$date_cache[$format]['lang'] = $this->lang['datetime']


Aber wenn ein Topic nicht existiert, wird bei mir anscheinend $this->lang['datetime'] nicht gefüllt ;-(

In der viewtopic.php ist dies der Auslöser:

Code: Alles auswählen

	trigger_error('NO_TOPIC');
Sobald man also auf ein nicht vorhandenen ( oder mit fehlender Berechtigung ) Beitrag verweist, wird der Fehler ausgelöst.

Wo starte ich bei der Fehlersuche ???
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Beitra

Beitrag von bantu »

Powered by Coffee
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Beitra

Beitrag von Dr.Death »

Mit Hilfe von Bantu haben wir den Fehler finden können.

Ich nutze u.a. den MOD: Ultimate Points

In einer "alten" Version, oder aber auch durch meine Unachtsamkeit wurde in die Datei " viewtopic.php " folgende Zeile Eingebaut:

Code: Alles auswählen

$user->add_lang('mods/points');
Durch diverse Tests in meinem Forum und mit Bantu's Hilfe haben wir ermittelt, das ein "$user->add_lang" nur dann eingesetzt werden kann, wenn vorher ein "$user->setup" stattgefunden hat.

In der aktuellen Version vom MOD: Ultimate Points steht auch folgende Einbauanleitung:
Find

Code: Alles auswählen

// Start session management
$user->session_begin();
$auth->acl($user->data);
Add after

Code: Alles auswählen

// Start Ultimate Points
$user->setup('mods/points');
// End Ultimate Points
Somit habe ich also einen klassischen Einbau Fehler begannen oder ein falschen Update Einbau vorgenommen.

Asche auf mein Haupt :oops: :o :roll:
Benutzeravatar
Flashen-us
Gesperrt
Beiträge: 17
Registriert: 16.01.2010 14:43

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Beitra

Beitrag von Flashen-us »

Naja, sowas kann jedem passieren und wenn man dann Hilfe von einem der phpBB-Entwickler hat ist das doch auch eine feine Sache. :grin:
Die deutsche Community zum amerikanischen Flashing

Wenn wir es recht überdenken, so stecken wir doch alle nackt in unseren Kleidern. (Heinrich Heine)
Halloween
Gesperrt
Beiträge: 24
Registriert: 03.12.2011 01:08

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be

Beitrag von Halloween »

Ich hab das gleiche Problem wenn ich meineseite.de/viewtopic.php aurufe. Bekomm die gleiche Fehlermeldung angezeigt. In der session.php ist die Problemzeile genau die gleiche wie oben schon genannt wurde.
Nur hab ich keinen "Punkte-Mod" installiert. Bei mir liegt es wohl an was anderem.
Das ist die genaue Fehlermeldung:

Code: Alles auswählen

Warning: strtr() [function.strtr]: The second argument is not an array in public_html/includes/session.php on line 2175

Warning: strtr() [function.strtr]: The second argument is not an array in public_html/includes/session.php on line 2175

Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2175) in public_html/includes/functions.php on line 4808

Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2175) in public_html/includes/functions.php on line 4810

Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2175) in public_html/includes/functions.php on line 4811

Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2175) in public_html/includes/functions.php on line 4812

Fatal error: template->_tpl_load_file(): File /message_body.html does not exist or is empty in public_html/includes/functions_template.php on line 63
In der funtions.php Datei geht es um folgende Zeilen:

Code: Alles auswählen

	// application/xhtml+xml not used because of IE
	header('Content-type: text/html; charset=UTF-8');
	header('Cache-Control: private, no-cache="set-cookie"');
	header('Expires: 0');
	header('Pragma: no-cache');

	return;
Nachdem ich das komplett gelöscht habe wurde zumindest die funtions.php Meldung entfernt. Ob das richtig war die Zeilen zu entfernen weis ich nicht. Kann jedenfalls nichts erkennen ^^.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be

Beitrag von Miriam »

Also das Gelöschte pack mal besser wieder rein. Die Fehlermeldung wird "provoziert", weil "Output" vor dem Senden des Headers geschrieben wurde. Und das gibt eben Stress.
Und dieser Output ist die Fehlermeldung aus der /includes/session.php.

Also bei mir steht auf Zeile 2175 der /includes/session.php nichts, was ein Array als Argument verlangt.
Was steht denn bei dir? Verlinke mal bitte deine /includes/session.php mittels PasteBin.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be

Beitrag von Miriam »

Miriam hat geschrieben:Also das Gelöschte pack mal besser wieder rein. Die Fehlermeldung wird "provoziert", weil "Output" vor dem Senden des Headers geschrieben wurde. Und das gibt eben Stress.
Und dieser Output ist die Fehlermeldung aus der /includes/session.php.

Also bei mir steht auf Zeile 2175 der /includes/session.php nichts, was ein Array als Argument verlangt.
Was steht denn bei dir? Verlinke mal bitte deine /includes/session.php mittels PasteBin.
Und zeig mal bitte auch gleich die /includes/functions.php her.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be

Beitrag von Miriam »

Auf welcher Board-Version bist denn du? Doch nicht 3.0.10.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Halloween
Gesperrt
Beiträge: 24
Registriert: 03.12.2011 01:08

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be

Beitrag von Halloween »

3.0.9
Edit:
Hab jetzt mal nen Update gemacht.
Fehlermeldung sieht jetzt so aus:

Code: Alles auswählen

Warning: strtr() [function.strtr]: The second argument is not an array in public_html/includes/session.php on line 2174

Warning: strtr() [function.strtr]: The second argument is not an array in public_html/includes/session.php on line 2174

Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2174) in public_html/includes/functions.php on line 4861

Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2174) in public_html/includes/functions.php on line 4862

Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2174) in public_html/includes/functions.php on line 4863

Fatal error: template->_tpl_load_file(): File /message_body.html does not exist or is empty in public_html/includes/functions_template.php on line 63
Funtion.php: http://pastebin.com/vsMZRDqt
Session.php: http://pastebin.com/5r4X8zPD

Ein weiteres Problem ist dazu gekommen. Der Username etc wird im Post Beitrag nicht mehr angezeigt. Ich weis nicht ob es am Update liegt oder am Mod den ich die letzten Tagen verbaut habe. Ich hoffe viewtopic.php ist die richtige Datei wo der Fehler drinn steckt: http://pastebin.com/EB8GG7Sp
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“