News:

Want to get involved in developing SMF? Why not lend a hand on our GitHub!

Main Menu

Erklärung der Error-Messages gesucht

Started by Windwalker, February 05, 2007, 02:21:06 PM

Previous topic - Next topic

Windwalker

Hallo!

Ich erhalte in meinem Forum bei der Generierung einer jeden Seite immer ein paar Fehlermeldungen.
Sie verweisen offensichtlich auf verschiedenen Dateien, aber immer in die selbe Zeile.
Könnt Ihr mir erklären, was die Meldungen bedeuten und wie ich sie beseitige?

Hier meine Meldungen:

http://www.newmodelarmy.de/forum/index.php?action=viewErrorLog
8: Undefined index:
Datei: /vrmd/homepages/u14883/nma/forum/Themes/default/Errors.template.php (eval?)
Zeile: 222

http://www.newmodelarmy.de/forum/index.php
8: Undefined index:
Datei: /vrmd/homepages/u14883/nma/forum/Themes/summerdark/BoardIndex.template.php (eval?)
Zeile: 222

http://www.newmodelarmy.de/forum/index.php?action=admin
8: Undefined index:
Datei: /vrmd/homepages/u14883/nma/forum/Themes/default/Admin.template.php (eval?)
Zeile: 222

http://www.newmodelarmy.de/forum/index.php?topic=422.0
8: Undefined index:
Datei: /vrmd/homepages/u14883/nma/forum/Themes/default/Display.template.php (eval?)
Zeile: 222

http://www.newmodelarmy.de/forum/index.php?action=profile;u=25
8: Undefined index:
Datei: /vrmd/homepages/u14883/nma/forum/Themes/default/Profile.template.php (eval?)
Zeile: 222


und so weiter....

Wäre schön, wenn Ihr mir helfen könntet!

Viele Grüße,
Sascha.

mediman

Das ganze heisst, dass Sprachvariablen für die profil.template.php ned gefunden werden.

mediman
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

Windwalker

Aha, woran erkennst du das? (mir fehlt leider noch Erfahrung mit SMF...)
Ich sehe immer nur Zeile 222 und unterschiedliche Template-Dateien (BoardIndex.template.php, Admin.template.php, Display.template.php, Profile.template.php). Ist das alles der ein und selbe Fehler?

Kannst du mir nen Tipp geben, wie ich den Fehler beseitige?

mediman

Undefined index bedeutet das für Index in Array nichts gefunden wird

$array['index'];

Also z.B. $txt['ueberschrift'] == "Das ist die Überschrift"; ist so nicht in der Sprachdatei vorhanden.
Da diese Spracharrays vererbet werden (global $txt stellt z.B. in allen includeten Dateieen das Array $txt in den damit ausgezeichneten Funktionen zur Verfügung) geht das Problem über viele PHP-Dateien.

Guck dir mal die Zeile 222 an, was du da so für $arrays['index'] findest.

mediman


My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

Windwalker

Okay, ich nehme an, ich muss in der index.php schauen!?

Dort wird ab Zeile 201 ein riesiges Array namens $actionArray definiert, mit endlos vielen Indizes.
Zeile 222 steht:
'jsoption' => array('Themes.php', 'SetJavaScript'),

Hier wird also der Array-Index "jsoption" deklariert und gibt wohl an, dass die Funktion SetJavaScript und Themes.php zu finden ist. Soweit okay?

In Themes.php habe ich nachgeschaut und folgendes gefunden.
Im kommentierten Bereich am Anfang wird SetJavaScript erklärt mit:
Quotevoid SetJavaScript()
      - sets a theme option without outputting anything.
      - can be used with javascript, via a dummy image... (which doesn't
        require the page to reload.)
      - requires someone who is logged in.
      - accessed via ?action=jsoption;var=variable;val=value;sesc=sess_id.
      - does not log access to the Who's Online log. (in index.php..)

Weiter unten steht dann die tatsächliche Funktion:
// Set an option via javascript.
function SetJavaScript()
{
global $db_prefix, $ID_MEMBER, $settings, $user_info;

// Sorry, guests can't do this.
if ($user_info['is_guest'])
obExit(false);

// Check the session id.
checkSession('get');

// This good-for-nothing pixel is being used to keep the session alive.
if (empty($_GET['var']) || !isset($_GET['val']))
redirectexit($settings['images_url'] . '/blank.gif', false);

// Use a specific theme?
if (isset($_GET['id']))
$settings['theme_id'] = (int) $_GET['id'];

// Update the option.
db_query("
REPLACE INTO {$db_prefix}themes
(ID_THEME, ID_MEMBER, variable, value)
VALUES ($settings[theme_id], $ID_MEMBER, '$_GET[var]', '" . (is_array($_GET['val']) ? implode(',', $_GET['val']) : $_GET['val']) . "')", __FILE__, __LINE__);

// Don't output anything...
redirectexit($settings['images_url'] . '/blank.gif', false);
}


Das müsste eigentlich alles original SMF-Code sein, ich hab da nichts dran gemacht.
Kann ich hier nun den Fehler finden?

mediman

Kann man so nicht sagen.
Mach doch mal die Fehlerausgabe in PHP komplett an, also E_ALL;

mediman
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

Windwalker

Das kann ich leider nicht, da das Board auf dem Server meines Webhosts läuft...

Windwalker

bzw. ich habe das E_ALL; mal in die index.php am Anang reingesetzt.
War das so gedacht?

Die produzierten Fehlermeldungen sind aber auch nicht ausführlicher.

Windwalker

Übrigens fällt mir grad auf, dass, obwohl ich nun die Zeile
E_ALL;
in forum/index.php eingefügt habe und damit nun eine Zeile (mit Leerzeile sogar 2) mehr vorhanden ist, immer noch Zeile 222 (müsste nun 224 sein) als Fehlerquelle aufgeführt wird.
Auf welche Datei bezieht sich denn nun die Zeilennummer 222?

dieter4

Quote from: Windwalker on February 06, 2007, 07:25:51 AM
Übrigens fällt mir grad auf, dass, obwohl ich nun die Zeile
E_ALL;
in forum/index.php eingefügt habe und damit nun eine Zeile (mit Leerzeile sogar 2) mehr vorhanden ist, immer noch Zeile 222 (müsste nun 224 sein) als Fehlerquelle aufgeführt wird.
Auf welche Datei bezieht sich denn nun die Zeilennummer 222?

Es muss error_reporting(E_ALL); heißen ;D

Aber SMF hat doch standardmäßig error_reporting auf E_ALL und error_handler auf eine eigene Funktion gesetzt ???

Windwalker

error_reporting(E_ALL);

habe ich durch suchen bei selfphp.info auch gefunden und habe es auch ausprobiert.
Und die Error-Messages wurden nicht ausführlicher. Hmm...

Also mein Forum läuft ja, aber es nervt in regelmäßigen Abständen immer tausende von sich wiederholenden Fehlermeldungen löschen zu müssen... Bei der Generierung einer jeden Forum-Seite scheint dieser Fehler aufzutreten.

mediman

Nee, Jungens, wenn uch sagr auf E_ALL setzen, dann meine ich die Errorabfangerei in SMF auszuhebeln, damit der E_ALL durchkommt.
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

Windwalker

Tut mir leid, das verstehe ich nicht.

Ich hab in verschiedenen Dateien "E_ALL;" eingebunden (index.php, BoardIndex.template.php, etc.) aber ich habe keine Veränderung der Error-Messages festgestellt.

Advertisement: